home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 26.zip / BS1 part 26 / Powervisor v1.10b disk2.adf / CommandReference < prev    next >
Text File  |  1991-11-06  |  139KB  |  4,574 lines

  1. *----------------------*
  2. * Reference : Commands * Sun Sep 29 09:46:38 1991
  3. *----------------------*
  4.  
  5.  
  6. ============================== Introduction ==================================
  7.  
  8. This reference file contains all commands. Functions are not in this file.
  9.  
  10.  
  11. Note that some commands have a return value. When this is the case the
  12. syntax is the following :
  13.    <returncode> <- COMMAND <arguments> ...
  14.  
  15. Note that this is NOT the way to use the command in PowerVisor. To use
  16. the returncode of a command you must use the group operator :
  17.    < retcode={COMMAND <arguments> ...} <enter>
  18.  
  19.  
  20. Some commands also return something in the 'rc' variable. The syntax is
  21. as follows :
  22.    RC,<returncode> <- COMMAND <arguments> ...
  23.  
  24.  
  25. Or if something is returned in the 'input' variable :
  26.    INPUT,<returncode> <- COMMAND <arguments> ...
  27.  
  28.  
  29. In all other cases the syntax is as follows :
  30.    COMMAND <arguments> ...
  31.  
  32.  
  33. COMMAND is a sequence of characters. All uppercase characters represent
  34. the minimum sequence you need before PowerVisor recognizes the command.
  35. If you want to ³abbreviate a command, you must at least use the uppercase
  36. characters.
  37.  
  38.  
  39. ================================== event =====================================
  40.  
  41.    EVent <class> <subclass> <code> <qualifier> <x> <y>
  42.  
  43.  
  44. Add an ²input event to the ³input event chain. This command is most useful
  45. in ¹macros and in ¹ARexx.
  46. Note that you if you want to use an EventAddress for a specific event,
  47. you can split this event address in two parts and supply them instead
  48. of <x> and <y>.
  49.  
  50. Possible class values :
  51.  
  52.    NULL           0
  53.    RAWKEY         1
  54.    RAWMOUSE       2
  55.    EVENT          3
  56.    POINTERPOS     4
  57.    TIMER          6
  58.    GADGETDOWN     7
  59.    GADGETUP       8
  60.    REQUESTER      9
  61.    MENULIST       10
  62.    CLOSEWINDOW    11
  63.    SIZEWINDOW     12
  64.    REFRESHWINDOW  13
  65.    NEWPREFS       14
  66.    DISKREMOVED    15
  67.    DISKINSERTED   16
  68.    ACTIVEWINDOW   17
  69.    INACTIVEWINDOW 18
  70.    NEWPOINTERPOS  19    (AmigaDOS 2.0 only)
  71.    MENUHELP       20    (AmigaDOS 2.0 only)
  72.    CHANGEWINDOW   21    (AmigaDOS 2.0 only)
  73.  
  74. Possible subclass values :
  75.  
  76.    For class NEWPOINTERPOS :
  77.  
  78.       COMPATIBLE  0
  79.       PIXEL       1
  80.       TABLET      2
  81.  
  82. Possible code values :
  83.  
  84.    For class RAWKEY :
  85.  
  86.       UP_PREFIX         $80
  87.       KEY_CODE_FIRST    $00
  88.       KEY_CODE_LAST     $77
  89.       COMM_CODE_FIRST   $78
  90.       COMM_CODE_LAST    $7f
  91.  
  92.    For class RAWMOUSE :
  93.  
  94.       LBUTTON           $68
  95.       RBUTTON           $69
  96.       MBUTTON           $6a
  97.       NOBUTTON          $ff
  98.  
  99.    For class EVENT (AmigaDOS 2.0 only) :
  100.  
  101.       NEWACTIVE         1
  102.       NEWSIZE           2
  103.       REFRESH           3
  104.  
  105.    For class REQUESTER :
  106.  
  107.       REQCLEAR          0
  108.       REQSET            1
  109.  
  110. Possible qualifier values :
  111.  
  112.    LSHIFT         $0001
  113.    RSHIFT         $0002
  114.    CAPSLOCK       $0004
  115.    CONTROL        $0008
  116.    LALT           $0010
  117.    RALT           $0020
  118.    LCOMMAND       $0040
  119.    RCOMMAND       $0080
  120.    NUMERICPAD     $0100
  121.    REPEAT         $0200
  122.    INTERRUPT      $0400
  123.    MULTIBROADCAST $0800
  124.    MIDBUTTON      $1000
  125.    RBUTTON        $2000
  126.    LEFTBUTTON     $4000
  127.    RELATIVEMOUSE  $8000
  128.  
  129.  
  130. Related commands: attach
  131.  
  132. ================================== owner =====================================
  133.  
  134.    OWNer <address>
  135.  
  136.  
  137. This command tries to see who is the ¹owner of the address you specify.
  138. This command is not completely ready but it is safe to use.
  139.  
  140. At this moment the 'owner' command searches the ²task list to see if it
  141. belongs to a task or process. The ¹stack, ¹seglists, ²task structure,
  142. ²process structure and ²cli structure are checked. In future more
  143. checks will be made.
  144.  
  145.  
  146. Example :
  147.  
  148. < l task <enter>
  149. > Task node name      : Node     Pri StackPtr  StackS Stat Command        Acc
  150. > ---------------------------------------------------------------------------
  151. > Background Process  : 07E4F080 00  07E6D640    4096 Rdy  clock      (04) -
  152. > Background Process  : 07E28330 00  07E2D500    4096 Wait iprefs     (02) -
  153. > RexxMaster          : 07E51438 04  07E51C7A    2048 Wait            (00) -
  154. > SYS:System/CLI      : 07E45DC0 00  07E46CFE    4096 Wait            (00) -
  155. > ...
  156. > PowerSnap 1.0 by Nic: 07E629C0 05  07E6320A    2000 Wait            PROC -
  157. > Background Process  : 07E70C98 00  07E6E8EA    4096 Wait addtools   (07) -
  158. > input.device        : 07E08B22 14  07E09B28    4096 Wait            TASK -
  159. > RAM                 : 07E23BF8 0A  07E23EE6    1200 Wait            PROC -
  160. > Background Process  : 07E1F268 04  07E8BB76   12000 Run  pv         (01) -
  161.  
  162. < owner task:rexxmaster+6
  163. > Found in TCB
  164. > RexxMaster          : 07E51438 04  07E51C7A    2048 Wait            (00) -
  165.  
  166. (¹TCB is ³task control block)
  167.  
  168.  
  169. Related tutor files: LookingAtThings
  170.  
  171. ================================== speek =====================================
  172.  
  173.    <value> <- SPEEk <address>
  174.  
  175.  
  176. (only ¹68020 with ¹68851, ¹68030 or ¹68040)
  177. Peek a longword from memory. <address> is a PHYSICAL address. The ²MMU tree
  178. is completely ignored.
  179.  
  180.  
  181. Example :
  182.  
  183. < speek 4 <enter>
  184. > 07E007CC , 132122572
  185.  
  186.  
  187. Related commands: mmutree spoke
  188.  
  189. Related tutor files: LookingAtThings
  190.  
  191. ================================== spoke =====================================
  192.  
  193.    SPOke <address> <value>
  194.  
  195.  
  196. (only ¹68020 with ¹68851, ¹68030 or ¹68040)
  197. Poke a longword in memory. <address> is a PHYSICAL address. The ²MMU tree
  198. is completely ignored.
  199.  
  200.  
  201. Related commands: mmutree speek
  202.  
  203. Related tutor files: LookingAtThings
  204.  
  205. ================================= mmutree ====================================
  206.  
  207.    MMutree
  208.  
  209.  
  210. (only ¹68020 with ¹68851, ¹68030 or ¹68040)
  211. This command shows the current ²MMU tree (¹CRP only).
  212.  
  213. ²FC code trees are not implemented yet.
  214. 8 byte ²format pages are not implemented yet.
  215. ²indirect pages are not implemented yet.
  216.  
  217.  
  218. Example :
  219.  
  220. < mmutree <enter>
  221. > 00000000   4 BYTE (imuw)  Log: 00000000 # 00000000
  222. > 07FFF140      4 BYTE (imUw)  Log: 00000000 # 01000000
  223. > 07FFF180         PAGE   (IMUw)  Log: 00000000 # 00040000  -> 00000000
  224. > 07FFF184         PAGE   (IMUw)  Log: 00040000 # 00040000  -> 00040000
  225. > 07FFF188         PAGE   (IMUw)  Log: 00080000 # 00040000  -> 00080000
  226. > ...
  227. > 07FFF268         PAGE   (IMUw)  Log: 00E80000 # 00040000  -> 00E80000
  228. > 07FFF26C         PAGE   (IMUw)  Log: 00EC0000 # 00040000  -> 00EC0000
  229. > 07FFF270         PAGE   (iMUw)  Log: 00F00000 # 00040000  -> 00F00000
  230. > 07FFF274         PAGE   (iMUw)  Log: 00F40000 # 00040000  -> 00F40000
  231. > 07FFF278         PAGE   (iMUW)  Log: 00F80000 # 00040000  -> 07F80000
  232. > 07FFF27C         PAGE   (iMUW)  Log: 00FC0000 # 00040000  -> 07FC0000
  233. > 07FFF144      PAGE   (iMUw)  Log: 01000000 # 01000000  -> 01000000
  234. > 07FFF148      PAGE   (iMUw)  Log: 02000000 # 01000000  -> 02000000
  235. > 07FFF14C      PAGE   (iMUw)  Log: 03000000 # 01000000  -> 03000000
  236. > 07FFF150      PAGE   (iMUw)  Log: 04000000 # 01000000  -> 04000000
  237. > 07FFF154      PAGE   (iMUw)  Log: 05000000 # 01000000  -> 05000000
  238. > 07FFF158      PAGE   (iMUw)  Log: 06000000 # 01000000  -> 06000000
  239. > 07FFF15C      4 BYTE (imUw)  Log: 07000000 # 01000000
  240. > 07FFF280         INV    (imuw)  Log: 07000000 # 00040000
  241. > 07FFF284         INV    (imuw)  Log: 07040000 # 00040000
  242. > 07FFF288         INV    (imuw)  Log: 07080000 # 00040000
  243. > ...
  244. > 07FFF344         INV    (imuw)  Log: 07C40000 # 00040000
  245. > 07FFF348         INV    (imuw)  Log: 07C80000 # 00040000
  246. > 07FFF34C         INV    (imuw)  Log: 07CC0000 # 00040000
  247. > 07FFF350         PAGE   (iMUw)  Log: 07D00000 # 00040000  -> 07D00000
  248. > 07FFF354         INV    (imuw)  Log: 07D40000 # 00040000
  249. > 07FFF358         INV    (imuw)  Log: 07D80000 # 00040000
  250. > 07FFF35C         INV    (imuw)  Log: 07DC0000 # 00040000
  251. > 07FFF360         PAGE   (iMUw)  Log: 07E00000 # 00040000  -> 07E00000
  252. > 07FFF364         PAGE   (iMUw)  Log: 07E40000 # 00040000  -> 07E40000
  253. > 07FFF368         PAGE   (iMUw)  Log: 07E80000 # 00040000  -> 07E80000
  254. > 07FFF36C         PAGE   (iMUw)  Log: 07EC0000 # 00040000  -> 07EC0000
  255. > 07FFF370         PAGE   (iMUw)  Log: 07F00000 # 00040000  -> 07F00000
  256. > 07FFF374         PAGE   (iMUw)  Log: 07F40000 # 00040000  -> 07F40000
  257. > 07FFF378         PAGE   (iMUW)  Log: 07F80000 # 00040000  -> 07F80000
  258. > 07FFF37C         PAGE   (iMUW)  Log: 07FC0000 # 00040000  -> 07FC0000
  259. > 07FFF160      PAGE   (iMUw)  Log: 08000000 # 01000000  -> 08000000
  260. > 07FFF164      PAGE   (iMUw)  Log: 09000000 # 01000000  -> 09000000
  261. > 07FFF168      PAGE   (iMUw)  Log: 0A000000 # 01000000  -> 0A000000
  262. > 07FFF16C      PAGE   (iMUw)  Log: 0B000000 # 01000000  -> 0B000000
  263. > 07FFF170      PAGE   (iMUw)  Log: 0C000000 # 01000000  -> 0C000000
  264. > 07FFF174      PAGE   (iMUw)  Log: 0D000000 # 01000000  -> 0D000000
  265. > 07FFF178      PAGE   (iMUw)  Log: 0E000000 # 01000000  -> 0E000000
  266.  
  267. Some entries explained :
  268.  
  269. > 07FFF140      4 BYTE (imUw)  Log: 00000000 # 01000000
  270.  
  271.    Address for this mmu entry is 07FFF140
  272.    It describes a 4 BYTE ²page descriptor
  273.    The descriptors are not invalid (i)
  274.    The descriptors are not modified (m)
  275.    The descriptors are used (U)
  276.    The descriptors are not write protected (w)
  277.    Logical address is 00000000
  278.    The page describes 01000000 bytes of memory
  279.  
  280. > 07FFF27C         PAGE   (iMUW)  Log: 00FC0000 # 00040000  -> 07FC0000
  281.  
  282.    Address for this mmu entry is 07FFF27C
  283.    It describes a PAGE
  284.    The page is not invalid (i)
  285.    The page is modified (M)
  286.    The page is used (U)
  287.    The page is write protected (W)
  288.    Logical address is 00FC0000 (this is in pseudo ROM on an Amiga 3000)
  289.    The page describes 00040000 bytes of memory
  290.    The page is mapped to the 07FC0000 physical address (fast RAM)
  291.  
  292.  
  293. Related commands: mmuregs mmurtest mmuwtest specregs mmureset
  294.  
  295. Related tutor files: LookingAtThings
  296.  
  297. ================================ mmureset ====================================
  298.  
  299.    MMURESet
  300.  
  301.  
  302. (only ¹68020 with ¹68851, ¹68030 or ¹68040)
  303. This command resets all U and M flags in the ²MMU tree to false.
  304. You can then use the 'mmutree' command to examine which pages are
  305. modified and used.
  306.  
  307. (Note this command does not support all possible mmu tables, therefore
  308. it does not work in AmigaDOS 1.3)
  309.  
  310.  
  311. Related commands: mmutree mmuregs
  312.  
  313. Related tutor files: LookingAtThings
  314.  
  315. ================================= mmuregs ====================================
  316.  
  317.    MMURegs
  318.  
  319.  
  320. (only ¹68020 with ¹68851, ¹68030 or ¹68040)
  321. Show all special ²mmu registers (except ¹MMUSR).
  322.  
  323.  
  324. Example :
  325.  
  326. < mmuregs <enter>
  327. > CRP  : 000F0002   07FFF140
  328. >    L/U bit is cleared
  329. >    LIMIT = 0000000F
  330. >    DT    = Valid 4 byte
  331. >    Table address = 07FFF140
  332. > SRP  : 80000001   00000000
  333. >    L/U bit is set
  334. >    LIMIT = 00000000
  335. >    DT    = Page descriptor
  336. >    Table address = 00000000
  337. > TC   : 80F08630
  338. >    Enable address translation
  339. >    Disable Supervisor Root Pointer (SRP)
  340. >    Disable Function Code Lookup (FCL)
  341. >    System page size    = FFFF8000
  342. >    Initial shift       = 00000000
  343. >    Table Index A (TIA) = 00000008
  344. >    Table Index B (TIB) = 00000006
  345. >    Table Index C (TIC) = 00000003
  346. >    Table Index D (TID) = 00000000
  347. > TT0  : 04038207
  348. >    Log Address Base = 00000004
  349. >    Log Address Mask = 00000003
  350. >    TT register enabled
  351. >    No Cache Inhibit
  352. >    R/W set
  353. >    RWM cleared
  354. >    FC value for TT block = 00000000
  355. >    FC bits to be ignored = 00000007
  356. > TT1  : 403F8107
  357. >    Log Address Base = 00000040
  358. >    Log Address Mask = 0000003F
  359. >    TT register enabled
  360. >    No Cache Inhibit
  361. >    R/W cleared
  362. >    RWM set
  363. >    FC value for TT block = 00000000
  364. >    FC bits to be ignored = 00000007
  365.  
  366.  
  367. Related commands: mmutree mmurtest mmuwtest specregs
  368.  
  369. Related tutor files: LookingAtThings
  370.  
  371. ================================ mmurtest ====================================
  372.  
  373.    MMURTest <address>
  374.  
  375.  
  376. (only ¹68020 with ¹68851, ¹68030 or ¹68040)
  377. Test an address for read access in ²MMU tree.
  378. ¹MMUSR is dumped. (does not work yet)
  379.  
  380.  
  381. Related commands: mmutree mmuregs mmuwtest specregs
  382.  
  383. Related tutor files: LookingAtThings
  384.  
  385. ================================ mmuwtest ====================================
  386.  
  387.    MMUWtest <address>
  388.  
  389.  
  390. (only ¹68020 with ¹68851, ¹68030 or ¹68040)
  391. Test an address for write access in ²MMU tree.
  392. ¹MMUSR is dumped. (does not work yet)
  393.  
  394.  
  395. Related commands: mmutree mmuregs mmurtest specregs
  396.  
  397. Related tutor files: LookingAtThings
  398.  
  399. ================================ specregs ====================================
  400.  
  401.    SPecregs
  402.  
  403.  
  404. (only ¹68020, ¹68030 or ¹68040)
  405. Show all special 68020 ¹registers.
  406.  
  407.  
  408. Example :
  409.  
  410. < specregs <enter>
  411. > MSP  : 560F5B16
  412. > ISP  : 07E02228
  413. > USP  : 07E8BC64
  414. > SFC  : 00000007
  415. > DFC  : 00000007
  416. > VBR  : 00000000
  417. > CACR : 00002111
  418. >    Write Allocate set
  419. >    Disable Data Burst
  420. >    Clear Data Cache not set
  421. >    Clear Entry in Data Cache not set
  422. >    Freeze Data Cache not set
  423. >    Enable Data Cache
  424. >    Enable Instruction Burst
  425. >    Clear Instruction Cache not set
  426. >    Clear Entry in Instruction Cache not set
  427. >    Freeze Instruction Cache not set
  428. >    Enable Instruction Cache
  429. > CAAR : B8F77BED
  430.  
  431.  
  432. Related commands: mmutree mmuregs mmurtest mmuwtest
  433.  
  434. Related tutor files: LookingAtThings
  435.  
  436. ================================= setfont ====================================
  437.  
  438.    SETfont <logical window> <fontname> <fontheight>
  439.  
  440.  
  441. Set a ¹font for a ²logical window. The font must be either memory resident
  442. or available in the ¹'fonts:' directory. ²Proportional fonts are not
  443. supported.
  444.  
  445. Note that this command is only temporary and only for the contents
  446. of a logical window (the text in the logical window).
  447. If you want another default font for all PowerVisor logical windows,
  448. string gadget, size bars, ... you must use 'prefs font'.
  449.  
  450. 'setfont' uses ¹autodefault to the 'lwin' list for the first argument.
  451.  
  452. There are six ³standard logical windows in the current release of PowerVisor,
  453. (you can open more if you want) :
  454.  
  455.    Rexx     : rexx output window
  456.    PPrint   : PortPrint output window
  457.    Refresh  : refresh window
  458.    Debug    : debugging window
  459.    Extra    : extra window
  460.    Main     : main window
  461.  
  462. See the 'lwin' list for all available logical windows.
  463. All these logical windows can use another font.
  464.  
  465.  
  466. Example :
  467.  
  468. If the 'Extra' logical window is not already open, open it with :
  469.  
  470. < xwin <enter>
  471.  
  472. < setfont extra topaz.font 9 <enter>
  473.  
  474. Try the new font :
  475.  
  476. < on extra list task <enter>
  477. > ... (in topaz 9)
  478.  
  479.  
  480. Related commands: xwin dwin rwin awin owin openlw closelw
  481.  
  482. Related lists: lwin
  483.  
  484. Related tutor files: Screen
  485.  
  486. ================================= colrow =====================================
  487.  
  488.    COLRow <logical window> <columns> <rows>
  489.  
  490.  
  491. Set the ³number of columns and rows (in characters) for the specified
  492. ²logical window. If <columns> or <rows> are equal to -1, PowerVisor will
  493. ¹scale them automatically to the maximum size available. The disadvantage
  494. of this is that the logical window is cleared everytime the visible size
  495. (in the direction that is -1) changes.
  496. The number of columns and rows can be as big as you want. If the size is
  497. to big you can ¹scroll in the logical window using the following ¹keys
  498. (in combination with the ¹Left-Alt key) on the numeric keypad :
  499.  
  500.    8 (arrow up)      scroll logical window one line up
  501.    2 (arrow down)    scroll one line down
  502.    6 (arrow right)   scroll one column right
  503.    4 (arrow left)    scroll one column left
  504.    9 (PgUp)          scroll 5 lines up
  505.    3 (PgDn)          scroll 5 lines down
  506.    7 (Home)          scroll to the top left position
  507.    1 (End)           scroll to the bottom left position
  508.    5                 scroll to the right as far as you can
  509.  
  510. If there are more logical windows open on the screen you can choose which
  511. one you want to scroll by pressing the ¹<Tab> key. The ²active window is
  512. the logical window with the full (blue for two bitplanes or black for one
  513. bitplane) ²status bar. The other logical windows have an ³empty status bar.
  514. Note that the ³active logical window is not the same as the ³current logical
  515. window. The active logical window is only used to indicate in which window
  516. you can scroll with the keys. The current logical window is the window that
  517. will get the output for all commands. All input is also redirected to the
  518. active logical window (see The 'Screen' tutorial file for more info).
  519.  
  520. 'colrow' uses ¹autodefault to the 'lwin' list for the first argument.
  521.  
  522. See the 'lwin' list for all available logical windows.
  523. There are six ³standard logical windows :
  524.  
  525.    Rexx     : ARexx output window
  526.    PPrint   : PortPrint output window
  527.    Refresh  : refresh window
  528.    Debug    : debugging window
  529.    Extra    : extra window
  530.    Main     : main window
  531.  
  532. You can use the 'getcol' and 'getrow' functions to ask the number of
  533. rows and columns respectively that you have set with this command. If
  534. you want the real number of rows and columns (after scaling) you can
  535. use the 'cols' and 'lines' functions.
  536.  
  537. Note that you can change the <tab> key to any other key with the
  538. 'prefs' command.
  539.  
  540.  
  541. Example :
  542.  
  543.  
  544. Make the 'Main' logical window autoscalable in both directions :
  545.  
  546. < colrow main -1 -1 <enter>
  547.  
  548. You can't scroll in this logical window now, and everytime the visible
  549. size changes the window is cleared (since there is a new rescaling).
  550.  
  551.  
  552. Make the 'Main' logical window very big in both directions :
  553.  
  554. < colrow main 200 100 <enter>
  555.  
  556. (200 columns and 100 rows). Type some output on this window :
  557.  
  558. < help commands <enter>
  559. > ...
  560.  
  561. Now you can scroll using the keys explained above.
  562.  
  563. You can use the 'fit' command to scale the size back to normal (see
  564. the 'fit' command for more info).
  565.  
  566.  
  567. Related commands: fit xwin rwin dwin awin owin openlw closelw prefs
  568.  
  569. Related functions: getcol getrow cols lines
  570.  
  571. Related lists: lwin
  572.  
  573. Related tutor files: Screen
  574.  
  575. ================================== view ======================================
  576.  
  577.    VIew [<address> [<bytes>]]
  578.  
  579.  
  580. ²View memory following certain requirements. The requirements follow from
  581. the ²current taglist (which is set with 'usetag' or 'tg'). The default format
  582. is Long/Ascii combined view. You can change the format used to display
  583. the memory for a specific range of memory to something else using ¹tags.
  584. The default number of bytes to view is 320 (16 bytes * 20 lines). If
  585. you do not give an address, PowerVisor will continue the listing of
  586. memory where you stopped in a previous listing (either 'view', 'memory'
  587. or 'unasm'). Pressing <Enter> after a 'view' command also causes
  588. the listing to continue.
  589.  
  590. PowerVisor remembers the last number of bytes used with the command
  591. (and the 'memory' command) and uses this number as the new default
  592. number of <bytes> for the following 'view' (or 'memory') commands.
  593.  
  594. Use the 'addtag' command to define how a specific range of memory
  595. should be viewed.
  596.  
  597. Also see the 'LookingAtThings' tutorial chapter for more examples and details
  598. about these tags.
  599.  
  600.  
  601. Example :
  602.  
  603. First we define the memory starting on location 0 as a range of longwords :
  604.  
  605. < addtag 0 50 la <enter>
  606.  
  607. This 'addtag' command adds a definition for a range of memory. A memory
  608. range with 50 bytes starting from address 0 is defined as LA. This is
  609. Long/Ascii. This is the default, so you won't see anything special when
  610. you view that memory.
  611.  
  612. < addtag 50 50 wa <enter>
  613.  
  614. The next 50 bytes of memory (starting on address 50) are defined as WA
  615. or Word/Ascii. We can use the 'view' command to see what we have done :
  616.  
  617. < view 0 <enter>
  618.  
  619. (Note that the 'view' command has the same sort of arguments as the 'memory'
  620. command).
  621.  
  622. > 00000000: 00000000 07E007CC 00F80834 00F80B16              ...........4....
  623. > 00000010: 00F80ADA 00F80ADC 00F80ADE 00F80AE0              ................
  624. > 00000020: 00F80C00 00F80AE4 00F80AE7 00F80AE8              ................
  625. > 00000030: 00F8                                             ..
  626. > 00000032: 0AEA 00F8 0AEC 00F8 0AEE 00F8 0AF0 00F8          ................
  627. > 00000042: 0AF2 00F8 0AF4 00F8 0AF6 00F8 0AF8 00F8          ................
  628. > 00000052: 0AFA 00F8 0AFC 00F8 0AFE 00F8 0B00 00F8          ................
  629. > 00000062: 0B02                                             ..
  630. > 00000064: 00F810F4 00F81152 00F81188 00F811E6              .......R........
  631. > 00000074: 00F8127C 00F812C6 00F81310 00F80B70              ...|...........p
  632. > 00000084: 00F80B72 00F80B74 00F80B76 00F80B78              ...r...t...v...x
  633. > 00000094: 00F80B7A 00F80B7C 00F80B7E 00F80B80              ...z...|...~....
  634. > 000000A4: 00F80B82 00F80B84 00F80B86 00F80B88              ................
  635. > 000000B4: 00F80B8A 00F80B8C 00F80B8E 00F80B90              ................
  636. > 000000C4: 00F80B92 00F80B94 00F80B96 00F80B98              ................
  637. > 000000D4: 00F80B9A 00F80B9C 00F80B9E 00F80BA0              ................
  638. > 000000E4: 00F80BA2 00F80BA4 00F80BA6 00F80BA8              ................
  639. > 000000F4: 00F80BAA 00F80BAC 00F80BAE 00000000              ................
  640. > 00000104: 00000000 00000000 00000000 00000000              ................
  641. > 00000114: 00000000 00000000 00000000 00000000              ................
  642. > 00000124: 00000000 00000000 00000000 00000000              ................
  643. > 00000134: 00000000 00000000 00000000                       ............
  644.  
  645. You can see that the memory starting at location 50 is listed in Word/Ascii
  646. format.
  647.  
  648.  
  649. Related commands: addtag remtag cleartags loadtags savetags tg usetag
  650.                   checktag tags memory unasm interprete
  651.  
  652. Related functions: taglist stsize lastmem lastbytes
  653.  
  654. Related tutor files: LookingAtThings
  655.  
  656. ================================= addtag =====================================
  657.  
  658.    ADDTag <address> <bytes> <type> [<structure>]
  659.  
  660.  
  661. This command adds a tag to the ³current tag list (set with 'usetag').
  662. With this command you can define the view mode to be used for a range of
  663. memory. The 'view' command uses these tags to determine how to dump
  664. memory.
  665. The <address> is the starting address for the memory range. This range
  666. continuous for <bytes> bytes. <type> can be one of the following :
  667.  
  668.    BA       byte/ascii format
  669.    WA       word/ascii format
  670.    LA       long/ascii format (default for all memory not in tags)
  671.    AS       ascii only format
  672.    CO       code format
  673.    ST       structure format (format supported by 'addstruct')
  674.  
  675. (case is not important).
  676. Other types can be supported in future.
  677.  
  678. 'addtag' uses ¹autodefault to the 'stru' list for the fourth argument.
  679.  
  680. If your type is 'ST' you must supply an extra argument <structure>.
  681. This is the pointer to the ²structure definition you must have loaded
  682. with the 'addstruct' command. You can use the 'stsize' function to
  683. obtain the size of a ¹structure. All structure reside in the 'stru' list.
  684.  
  685. Note that tags are grouped in ²tag lists. There are 16 tag lists numbered
  686. from 0 through 15. The ³default tag list is number 0. You can use the
  687. 'usetag' or 'tg' command to switch to another tag list. All the tag commands
  688. (including 'view') only work on the current tag list.
  689.  
  690.  
  691. Example :
  692.  
  693.    see the 'view' command.
  694.  
  695.  
  696. Related commands: view remtag cleartags loadtags savetags tg usetag checktag
  697.                   tags addstruct interprete
  698.  
  699. Related functions: taglist stsize
  700.  
  701. Related lists: stru
  702.  
  703. Related tutor files: LookingAtThings
  704.  
  705. ================================ loadtags ====================================
  706.  
  707.    LOADTags <file> <base>
  708.  
  709.  
  710. Load tags from a file to the ³current tag list. All ¹tags in the file are
  711. added to the tags in the current tag list. When an old tag collides with a
  712. new tag, the old tag will be removed (two tags collide when they use the same
  713. address).
  714.  
  715. If the tagfile contains structures (type 'ST') you must load these
  716. structure in memory (with 'addstruct') before loading the tags. Otherwise
  717. the type of the tag will be changed to Long/Ascii ('LA') and you will get
  718. a warning :
  719.  
  720.    'Warning ! Unknown structure types have been changed to LA !'
  721.  
  722.  
  723. <base> is a pointer that you can use to relocate tags. A tag file also
  724. contains a base. When the base in the tag file and <base> are equal the
  725. tags will be on the same position as when they were saved. <base> is
  726. useful when you want to pause your work and have to reloade them
  727. at another time. Since you can't always make sure that things are on
  728. the same position you will have to load the tags relative to some
  729. base.
  730.  
  731.  
  732. Related commands: savetags addtag remtag cleartags view tg usetag checktag
  733.                   tags addstruct
  734.  
  735. Related functions: taglist
  736.  
  737. Related tutor files: LookingAtThings
  738.  
  739. ================================ savetags ====================================
  740.  
  741.    SAVETags <file> <base>
  742.  
  743.  
  744. Save tags in the ³current tag list to a file.
  745. <base> is simply saved in the file. You can use <base> later on when
  746. you reload the tags to relocate them.
  747.  
  748.  
  749. Related commands: loadtags addtag remtag cleartags view tg usetag checktag
  750.                   tags
  751.  
  752. Related functions: taglist
  753.  
  754. Related tutor files: LookingAtThings
  755.  
  756. ================================ cleartags ===================================
  757.  
  758.    CLEARTags
  759.  
  760.  
  761. Clear all tags in the ³current tag list.
  762.  
  763.  
  764. Related commands: remtag addtag loadtags savetags tags usetag tg checktag
  765.                   view
  766.  
  767. Related functions: taglist
  768.  
  769. Related tutor files: LookingAtThings
  770.  
  771. ================================= remtag =====================================
  772.  
  773.    REMTag <address>
  774.  
  775.  
  776. Remove the range of memory starting with <address> from the ³current tag list.
  777. If the range does not exist this command does nothing.
  778.  
  779.  
  780. Example :
  781.  
  782. < addtag 1000 50 as <enter>
  783. < ...
  784. < remtag 1000 <enter>
  785.  
  786.  
  787. Related commands: addtag cleartags loadtags savetags tags usetag tg checktag
  788.                   view
  789.  
  790. Related functions: taglist
  791.  
  792. Related tutor files: LookingAtThings
  793.  
  794. ================================== tags ======================================
  795.  
  796.    TAGs
  797.  
  798.  
  799. List all ¹tags in the ³current tag list.
  800.  
  801.  
  802. Related commands: addtag remtag cleartags loadtags savetags usetag tg
  803.                   checktag view
  804.  
  805. Related functions: taglist
  806.  
  807. Related tutor files: LookingAtThings
  808.  
  809. ================================ checktag ====================================
  810.  
  811.    <bytes remaining> <- CHecktag <address>
  812.  
  813.  
  814. Check if an address resides in the ³current tag list. If it is, PowerVisor
  815. will print the type of the tag list followed by the remaining number of bytes
  816. after <address> in this tag.
  817. If the address is not in the tag list, PowerVisor will print the number
  818. of bytes remaining before the next tag. If there is no next tag, PowerVisor
  819. will print $7fffffff.
  820.  
  821.  
  822. Example :
  823.  
  824. < addtag 1000 50 as <enter>
  825.  
  826. < checktag 1010 <enter>
  827. > AS 00000028,40
  828.  
  829. < checktag 900 <enter>
  830. > 00000064,100
  831.  
  832. < checktag 1100 <enter>
  833. > 7FFFFFFF,2147483647
  834.  
  835.  
  836. Related commands: addtag remtag tags cleartags loadtags savetags usetag tg
  837.                   view
  838.  
  839. Related functions: taglist
  840.  
  841. Related tutor files: LookingAtThings
  842.  
  843. =============================== interprete ===================================
  844.  
  845.    INTErprete <structure pointer> <struct def pointer>
  846.  
  847.  
  848. Show the contents of a ¹structure at <structure pointer> using the
  849. <struct def pointer> ²structure definition. You can load and add
  850. structure definitions with the 'addstruct' command.
  851.  
  852. All structure definitions reside in the 'stru' list.
  853.  
  854. You can also view structures using the 'view' command.
  855.  
  856. 'Interprete' uses ¹autodefault to the 'stru' list for the second argument.
  857.  
  858.  
  859. Example :
  860.  
  861. Add all exec structure definitions.
  862.  
  863. < addstruct exec.pvsd <enter>
  864. > UNIT
  865. > IS
  866. > IV
  867. > ..
  868. > SS
  869. > SM
  870. > TC
  871. > ETask
  872. > StackSwapStruct
  873.  
  874. All these structure are now added to the 'stru' list.
  875. You can now use the 'interprete' command to dump the contents of
  876. a task structure (for example) :
  877.  
  878. < l task <enter>
  879. > Task node name      : Node     Pri StackPtr  StackS Stat Command        Acc
  880. > ---------------------------------------------------------------------------
  881. > Background Process  : 07E28330 00  07E2D500    4096 Wait iprefs     (02) -
  882. > RexxMaster          : 07E51438 04  07E51C7A    2048 Wait            (00) -
  883. > ...
  884. > RAM                 : 07E23BF8 0A  07E23EE6    1200 Wait            PROC -
  885. > input.device        : 07E08B22 14  07E09B28    4096 Wait            TASK -
  886. > Background Process  : 07E1F268 04  07E8B94A   12000 Run  pv         (01) -
  887.  
  888. < interprete 07E1F268 tc
  889. > FLAGS        : 00       | STATE        : 02       | IDNESTCNT    : FF
  890. > TDNESTCNT    : FE       | SIGALLOC     : FF80FFFF | SIGWAIT      : 00000020
  891. > SIGRECVD     : 20800100 | SIGEXCEPT    : 00000000 | ETask        : 80000000
  892. > EXCEPTDATA   : 00000000 | EXCEPTCODE   : 00F83AEC | TRAPDATA     : 00000000
  893. > TRAPCODE     : 07E7BE2C | SPREG        : 07E8B904 | SPLOWER      : 07E88DE8
  894. > SPUPPER      : 07E8BCC8 | MEMENTRY     : 07E1F2AA | Userdata     : 000007E0
  895.  
  896.  
  897. Related commands: addstruct remstruct view
  898.  
  899. Related functions: peek apeek stsize
  900.  
  901. Related lists: stru
  902.  
  903. Related tutor files: LookingAtThings
  904.  
  905. ================================ addstruct ===================================
  906.  
  907.    ADDStruct <filename>
  908.  
  909.  
  910. Add the ²structure definitions from the file to the PowerVisor 'stru'
  911. list. You can then use these structures with the 'interprete' and
  912. 'view' commands and the 'peek' and 'apeek' functions.
  913.  
  914. You can look in the 'stru' list to see which ¹structures are allready
  915. in memory.
  916.  
  917. The file must be a ²PVSD file. This is a file made by the ¹'MStruct' utility
  918. which can be found on the PowerVisor disk. 'addstruct' will complain when
  919. the format of the file is not right.
  920.  
  921.  
  922. Example :
  923.  
  924.    See the 'interprete' command
  925.  
  926.  
  927. Related commands: remstruct interprete view
  928.  
  929. Related functions: peek apeek stsize
  930.  
  931. Related lists: stru
  932.  
  933. Related tutor files: LookingAtThings
  934.  
  935. ================================= string =====================================
  936.  
  937.    <string> <- STRIng <string pointer>
  938.  
  939.  
  940. This command simply evaluates its argument and returns it. This command is
  941. useful in ARexx if you want to convert a string pointer (a pointer to a
  942. string) to an ARexx string. This is because this function returns a string
  943. when used in ARexx
  944.  
  945.  
  946. Related commands: assign
  947.  
  948. Related tutor files: Scripts
  949.  
  950. ================================= assign =====================================
  951.  
  952.    ASsign <assignment string>
  953.  
  954.  
  955. Assign a value to a ²PowerVisor variable.
  956. This command also works for ²memory assignments.
  957.  
  958.  
  959. Example:
  960.  
  961.    The following ARexx script (type in and execute with 'rx')
  962.  
  963.       /* Script */
  964.       address rexx_powervisor
  965.       a=1
  966.       assign 'a=2'
  967.       disp a
  968.       disp 'a'
  969.  
  970.    Will have as output :
  971.  
  972.       < rx file <enter>
  973.       > 00000001 , 1
  974.       > 00000002 , 2
  975.  
  976.  
  977. Related commands: rx vars remvar script assign error clip remclip string
  978.  
  979. Related tutor files: Scripts
  980.  
  981. ================================== clip ======================================
  982.  
  983.    [RC,<Pointer to data>] <- CLIp <Clip name> [<Pointer to data> <Length>]
  984.  
  985.  
  986. If you supply the <Pointer to data> and <Length> arguments this command
  987. can be used to install a new ¹clip in the ²ARexx system. In this case the
  988. return value (RC) is undefined.
  989.  
  990. If you don't supply these two extra arguments, PowerVisor will search the
  991. clip and return the pointer to the data in 'RC' (or 0 if not found). Note
  992. that this pointer is actually a pointer to the string part of the 'RexxArg'
  993. structure so you can find the length of the data in *(RC-4).w (the word
  994. four bytes before the data).
  995. The pointer is also displayed on screen.
  996.  
  997.  
  998. Example:
  999.  
  1000.  
  1001. < clip TEST "Testing 1 2 3..." 16 <enter>
  1002.  
  1003. < memory {-clip TEST} 16 <enter>
  1004. > 07E9A0F0: 54657374 696E6720 31203220 332E2E2E              Testing 1 2 3...
  1005.  
  1006. CLI< rx 'say getclip(test)' <enter>
  1007. CLI> Testing 1 2 3...
  1008.  
  1009.  
  1010. Related commands: remclip rx assign
  1011.  
  1012. Related tutor files: Scripts
  1013.  
  1014. ================================= remclip ====================================
  1015.  
  1016.    REMCLip <Clip name>
  1017.  
  1018.  
  1019. Remove a ¹clip previously set with 'clip' or with some other external ARexx
  1020. program.
  1021.  
  1022.  
  1023. Related commands: clip rx assign
  1024.  
  1025. Related tutor files: Scripts
  1026.  
  1027. ================================== error =====================================
  1028.  
  1029.    <pointer to error string> <- ERror <error number>
  1030.  
  1031.  
  1032. Get a pointer to an ²error string (see 'geterror' in the 'Functions' reference
  1033. file for a list of error numbers). This contents of this pointer is very
  1034. volatile because the pointer actually points to a very much used area
  1035. in PowerVisor. Because of this, this command has only limited use. The
  1036. command is more useful in ¹ARexx where it returns a string containing the
  1037. error message.
  1038.  
  1039.  
  1040. Example:
  1041.  
  1042.  
  1043. The following command results in rubbish because the 'memory' command
  1044. immediatelly needs the area containing the error string.
  1045.  
  1046. < memory {error 17} <enter>
  1047. > <rubbish>
  1048.  
  1049.  
  1050. If you want a copy of the string you can use the 'alloc' function :
  1051.  
  1052. < str=alloc(s,#{error 17}) <enter>
  1053. < memory str 16 <enter>
  1054. > 07E9C25A: 4D697373 696E6720 6F706572 616E6420               Missing operand
  1055.  
  1056.  
  1057. Related commands: rx script
  1058.  
  1059. Related functions: geterror
  1060.  
  1061. Related tutor files: Scripts
  1062.  
  1063. =================================== rx =======================================
  1064.  
  1065.    RX <file name>
  1066.  
  1067.  
  1068. Execute an ²ARexx script. The default extension for ARexx scripts is ¹'pv'.
  1069. You do not need to type this extension unless you use a different one.
  1070.  
  1071. The name of the ²PowerVisor ARexx port is :
  1072.  
  1073.    ¹REXX_POWERVISOR
  1074.  
  1075.  
  1076. Example :
  1077.  
  1078.    See the 'assign' command
  1079.  
  1080.  
  1081. Related commands: script assign clip remclip
  1082.  
  1083. Related tutor files: Scripts
  1084.  
  1085. ================================ remstruct ===================================
  1086.  
  1087.    REMStruct <struct def pointer>
  1088.  
  1089.  
  1090. Unload a ²structure definition previously loaded with 'addstruct'.
  1091.  
  1092. 'remstruct' uses ¹autodefault to 'stru' for the first argument.
  1093.  
  1094.  
  1095. Related commands: addstruct interprete view
  1096.  
  1097. Relate functions: peek apeek stsize
  1098.  
  1099. Related lists: stru
  1100.  
  1101. Related tutor files: LookingAtThings
  1102.  
  1103. ================================== llist =====================================
  1104.  
  1105.    LList <list> ['start']
  1106.  
  1107.  
  1108. Traverse a ²system list and print all ¹nodes in the list.
  1109. If 'start' is specified, 'LList' will start listing from the start of the
  1110. list.
  1111.  
  1112. You can type really anything for the 'start' argument. The simple presence
  1113. of an extra argument is enough.
  1114.  
  1115.  
  1116. Example :
  1117.  
  1118. < list port <enter>
  1119. > MsgPort node name   : Node     Pri SigBit SigTask
  1120. > ---------------------------------------------------------------------------
  1121. > REXX                : 07E444A4 00      31 07E51438
  1122. > AREXX               : 07E51CC8 00      30 07E51438
  1123. > AddTools by Steve Ti: 07E42A50 00      31 07E70C98
  1124. > PowerVisor-port     : 07E7C6F6 00       1 00000000
  1125. > REXX_POWERVISOR     : 07E22098 00      24 07E1F268
  1126. > * Blank_Port        : 07E43390 00      30 07E73E28
  1127. > IPrefs.rendezvous   : 07E227F0 E2      31 07E28330
  1128. > SetPatch Port       : 07E227C0 9C       0 00000000
  1129.  
  1130. < llist port:rexx_powervisor <enter>
  1131. > Node name           : Node     Pri
  1132. > ---------------------------------------------------------------------------
  1133. > * Blank_Port        : 07E43390 00
  1134. > IPrefs.rendezvous   : 07E227F0 E2
  1135. > SetPatch Port       : 07E227C0 9C
  1136.  
  1137. < llist port:rexx_powervisor start <enter>
  1138. > Node name           : Node     Pri
  1139. > ---------------------------------------------------------------------------
  1140. > REXX                : 07E444A4 00
  1141. > AREXX               : 07E51CC8 00
  1142. > AddTools by Steve Ti: 07E42A50 00
  1143. > PowerVisor-port     : 07E7C6F6 00
  1144. > REXX_POWERVISOR     : 07E22098 00
  1145. > * Blank_Port        : 07E43390 00
  1146. > IPrefs.rendezvous   : 07E227F0 E2
  1147. > SetPatch Port       : 07E227C0 9C
  1148.  
  1149.  
  1150. Related commands: list
  1151.  
  1152. Related tutor files: LookingAtThings
  1153.  
  1154. ================================== vars ======================================
  1155.  
  1156.    VArs ['all']
  1157.  
  1158.  
  1159. This command shows all ¹variables. You will notice the variables
  1160. ¹'rc' and ¹'error'.
  1161. When you use the 'all' option, PowerVisor will show all variables
  1162. including ¹constants and ¹functions.
  1163. Notice the ¹'mode' ²special variable, the ¹'version' constant and
  1164. the ¹'input' constant.
  1165.  
  1166. You can type really anything for the 'all' argument. The simple presence
  1167. of an extra argument is enough.
  1168.  
  1169.  
  1170. Example :
  1171.  
  1172. < a=1000 <enter>
  1173.  
  1174. < vars <enter>
  1175. > error                                    : 0   00000026 , 38
  1176. > rc                                       : 0   07E43080 , 132395136
  1177. > a                                        : 0   000003E8 , 1000
  1178.  
  1179. < vars all <enter>
  1180. > mode                                     : 2   00002159 , 8537
  1181. > version                                  : 1   00000200 , 512
  1182. > error                                    : 0   00000026 , 38
  1183. > rc                                       : 0   07E43080 , 132395136
  1184. > input                                    : 1   00000000 , 0
  1185. > getx                                     : 3   07E7F1D6 , 132641238
  1186. > gety                                     : 3   07E7F1DE , 132641246
  1187. > getdebug                                 : 3   07E86992 , 132671890
  1188. > getchar                                  : 3   07E7F1E6 , 132641254
  1189. > base                                     : 3   07E80562 , 132646242
  1190. > rp                                       : 3   07E7F224 , 132641316
  1191. > lines                                    : 3   07E7F1FC , 132641276
  1192. > cols                                     : 3   07E7F210 , 132641296
  1193. > key                                      : 3   07E7F2E4 , 132641508
  1194. > alloc                                    : 3   07E7D586 , 132633990
  1195. > free                                     : 3   07E7D5C8 , 132634056
  1196. > getsize                                  : 3   07E7D5EA , 132634090
  1197. > realloc                                  : 3   07E7D604 , 132634116
  1198. > lastmem                                  : 3   07E7D55A , 132633946
  1199. > lastfound                                : 3   07E7D562 , 132633954
  1200. > peek                                     : 3   07E804EC , 132646124
  1201. > apeek                                    : 3   07E80526 , 132646182
  1202. > rfrate                                   : 3   07E78310 , 132612880
  1203. > rfcmd                                    : 3   07E78318 , 132612888
  1204. > isalloc                                  : 3   07E7D5B0 , 132634032
  1205. > curlist                                  : 3   07E80164 , 132645220
  1206. > gethist                                  : 3   07E78170 , 132612464
  1207. > qual                                     : 3   07E7F2DC , 132641500
  1208. > getcol                                   : 3   07E7EF9C , 132640668
  1209. > getrow                                   : 3   07E7EFB0 , 132640688
  1210. > getlwin                                  : 3   07E7EF6E , 132640622
  1211. > stsize                                   : 3   07E804D8 , 132646104
  1212. > taglist                                  : 3   07E7CD22 , 132631842
  1213. > toppc                                    : 3   07E8584C , 132667468
  1214. > botpc                                    : 3   07E85868 , 132667496
  1215. > eval                                     : 3   07E8446C , 132662380
  1216. > if                                       : 3   07E84452 , 132662354
  1217. > isbreak                                  : 3   07E85818 , 132667416
  1218. > a                                        : 0   000003E8 , 1000
  1219.  
  1220. The first argument after the colon means the following :
  1221.  
  1222.    0 = normal variable
  1223.    1 = constant variable
  1224.    2 = special variable with an action attached to it (internal)
  1225.    3 = function (value is pointer to code for function)
  1226.  
  1227.  
  1228. Related commands: mode error remvar assign createfunc
  1229.  
  1230. ================================= remvar =====================================
  1231.  
  1232.    REMVar {<variables>}
  1233.  
  1234.  
  1235. This command removes PowerVisor ¹variables if they exist.
  1236. 'Remvar' is very useful in ¹scripts. If a variable on the commandline
  1237. does not exist, 'remvar' will give NO error but simply continue with the
  1238. other variables on the commandline. You can only remove variables.
  1239. Functions, special variables and constants can't be removed with this
  1240. command. 'rc' and 'error' are also private and can't be removed.
  1241.  
  1242.  
  1243. Example :
  1244.  
  1245. < myvar=1000 <enter>
  1246. < remvar myvar <enter>
  1247.  
  1248. < disp myvar <enter>
  1249. > Addressed element not found !
  1250.  
  1251.  
  1252. Related commands: vars assign
  1253.  
  1254. Related tutor files: Scripts
  1255.  
  1256. ================================== alias =====================================
  1257.  
  1258.    ALias [<alias command name> <alias string>]
  1259.  
  1260.  
  1261. ¹Alias without arguments lists all ²current aliases.
  1262.  
  1263. You can set a new alias <alias command name> to <alias string> with this
  1264. command. You can remove the alias string with the 'unalias' command.
  1265. When you create a new alias with the same name as an existing alias, the
  1266. old alias will be removed.
  1267.  
  1268. <alias command name> is the new command that you want to define. You
  1269. can't abbreviate this command like all normal commands. If you want to
  1270. do this you must define another alias for that.
  1271.  
  1272. <alias string> is the string that is executed whenever you use <alias
  1273. command name>. This will be the exact commandline except for the
  1274. transformations that are described below.
  1275.  
  1276. Before the string is executed all ²[] operators in the <alias string> are
  1277. replaced with the string starting after the first space after the command
  1278. (the command is <alias command name>).
  1279. All other spaces before and after the commandline are not ignored and are
  1280. included in [].
  1281.  
  1282. [<x>] with <x> one digit, is replaced with argument number <x>. The first
  1283. argument is [1]. If the argument does not exist, an empty string is
  1284. returned. Note that both leading and trailing spaces ARE ignored when
  1285. you use this operator.
  1286.  
  1287. You can mix both [] and ¹[<x>] and use them as many times as you
  1288. wish.
  1289.  
  1290. When you want to use quotes you must precede them with '\'.
  1291.  
  1292. Note that ²alias expansion may lead to big commandlines (especially if
  1293. you use ²recursive aliases). If the commandline gets too big you
  1294. will get an error. You can increase the ³maximum commandline lenght
  1295. with the 'prefs' command.
  1296.  
  1297. Alias expansion is only done once. This means that you can't recursively
  1298. define aliases in this manner.
  1299.  
  1300. When you use the ²group operator {}, alias expansion is done again. So
  1301. you can define ²recursive aliases using groups.
  1302.  
  1303.  
  1304. Example :
  1305.  
  1306.  
  1307. < alias lfd 'loadfd [] fd:[]_lib.fd' <enter>
  1308.  
  1309. When you type 'lfd exec' on the command line, the command line will be
  1310. expanded to 'loadfd exec fd:exec_lib.fd' before execution.
  1311.  
  1312.  
  1313. < alias execute li[]bs <enter>
  1314.  
  1315. When you type 'execute st li' on the command line, the command line will
  1316. be expanded to 'list libs'.
  1317. (This example is of course completely useles).
  1318.  
  1319.  
  1320. < alias writeln 'print \'[]\\0a\'' <enter>
  1321.  
  1322. 'writeln we are testing' will result in
  1323. 'print 'we are testing\0a''
  1324.  
  1325. Look how the newline is quoted. This is because we don't want a real
  1326. newline in the alias string. We want '\0a' in the alias string.
  1327.  
  1328.  
  1329. The following will NOT create an infinite loop:
  1330.  
  1331. < alias disp 'list []' <enter>
  1332. < alias list 'disp []' <enter>
  1333.  
  1334. This sequence of command simply swappes the two commands 'disp' and 'list'.
  1335.  
  1336.  
  1337. The following three commands will generate an infinite loop :
  1338.  
  1339. < alias disp '{list []}' <enter>
  1340. < alias list '{disp []}' <enter>
  1341. < disp 3 <enter>
  1342. > A stack overflow was getting close !
  1343.  
  1344. PowerVisor stops the recursion when there is no more available stack.
  1345.  
  1346.  
  1347. The following two commands define a new command 'fact'
  1348. to compute the facultaty of its argument :
  1349.  
  1350. < alias _fact 'void if(([])==1,1,{_fact ([])-1}*([]))' <enter>
  1351. < alias fact 'disp {_fact []}' <enter>
  1352.  
  1353. < fact 5 <enter>
  1354. > 00000078 , 120
  1355.  
  1356. '_fact' is the recursive alias. 'fact' is only provided to give a more
  1357. command like syntax. Note that this recursion is limited by both
  1358. the available stack and the maximum length of the commandline.
  1359.  
  1360.  
  1361. You can redefine a command :
  1362.  
  1363. < alias disp 'disp ([])+1' <enter>
  1364.  
  1365. < disp 4 <enter>
  1366. > 00000005 , 5
  1367. < d 4 <enter>
  1368. > 00000004 , 4
  1369.  
  1370.  
  1371. When you use '[]' in the alias string, this sequence is replaced by
  1372. everything after the first space. For example :
  1373.  
  1374. < alias pr 'print \'a[]b\\0a\' <enter>
  1375. < pr test <enter>
  1376. > atestb
  1377.  
  1378. < pr  test <enter>
  1379. > a testb
  1380.  
  1381.  
  1382. Look at the following example if you want more precise argument control :
  1383.  
  1384. < alias pr 'print \'Second : [2], First : [1]\\0a\'' <enter>
  1385. < pr a b <enter>
  1386. > Second : b, First : a
  1387.  
  1388. < pr      1th      2nd    <enter>
  1389. > Second : 2nd, First : 1th
  1390.  
  1391.  
  1392. Related commands: unalias
  1393.  
  1394. Related tutor files: InstallingPowerVisor
  1395.  
  1396. ================================= unalias ====================================
  1397.  
  1398.    UNALias <alias command name>
  1399.  
  1400.  
  1401. Remove an alias string previously installed with 'alias'.
  1402.  
  1403.  
  1404. Example :
  1405.  
  1406.  
  1407. < alias xxx 'disp 3' <enter>
  1408. < xxx <enter>
  1409. > 00000003 , 3
  1410.  
  1411. < unalias xxx <enter>
  1412. < xxx <enter>
  1413. > Syntax Error !
  1414.  
  1415.  
  1416. Related commands: alias
  1417.  
  1418. Related tutor files: InstallingPowerVisor
  1419.  
  1420. ================================== hold ======================================
  1421.  
  1422.    HOld
  1423.  
  1424.  
  1425. This command closes the PowerVisor screen and waits for the Right-Alt,
  1426. Right-Shift,? combination to reopen it again.
  1427. If a crash happens PowerVisor will reopen its screen automatically.
  1428.  
  1429. Note that you can redefine the ²hot key to any key combination you want
  1430. with the 'prefs' command.
  1431.  
  1432.  
  1433. Related commands: quit prefs
  1434.  
  1435. Related tutor files: GettingStarted
  1436.  
  1437. ================================== quit ======================================
  1438.  
  1439.    Quit
  1440.  
  1441.  
  1442. Quit PowerVisor. Everything will be cleaned up.
  1443. ²Frozen tasks are lost. ²Monitor functions will be cleaned. ²Crash trapping
  1444. is disabled. ²Stack checking is disabled. All ²debug tasks
  1445. are put back in the task list (they continue to run).
  1446. All ¹FD-Files will be removed from memory.
  1447. If one of your debug tasks is ¹tracing 'Quit' will print an error message.
  1448. First halt this task with 'trace h'.
  1449.  
  1450. Warning: Everything you allocated or opened using ²library functions will
  1451.          NOT be cleaned up. Remember to do it yourself.
  1452.  
  1453.          All ²crashed tasks are left in memory. They will simply wait.
  1454.  
  1455.          All ²freezed tasks are lost forever (and their memory too).
  1456.          UnFreeze or kill your tasks before you quit.
  1457.  
  1458.          All memory allocated with the 'alloc' function is automatically
  1459.          freed (This also includes memory allocated with 'rblock')
  1460.  
  1461.          All tasks you were debugging will simply be put back on their
  1462.          task list and will continue executing.
  1463.  
  1464.  
  1465. Related commands: hold
  1466.  
  1467. Related tutor files: GettingStarted
  1468.  
  1469. ================================= gadgets ====================================
  1470.  
  1471.    Gadgets <window>
  1472.  
  1473.  
  1474. Lists all ¹gadgets in the specified ¹window.
  1475.  
  1476. 'gadgets' uses ¹autodefault to 'wins' for the first argument.
  1477.  
  1478.  
  1479. Example :
  1480.  
  1481. < l wins <enter>
  1482. > Window name         : Address  Left  Top Width Height WScreen
  1483. > ---------------------------------------------------------------------------
  1484. >                     : 07E42A78    0   12   692    430 07E20300
  1485. >                     : 07E8C810    0    0   704    456 07E77A60
  1486. > Clock               : 07E66BD0  558  336   120    140 07E280D0
  1487. > My Shell            : 07E414E0    0  568   692    456 07E280D0
  1488. >                     : 07E3B078    0   16   692   1008 07E280D0
  1489.  
  1490. < gadgets clock <enter>
  1491. > Gadget ptr : left right width height Render   Text     SpecInfo ID
  1492. >
  1493. > 07E63C2C   :  -22     0    24     16 07E43BC4 00000000 00000000     0
  1494. > Flags      : GADGHCOMP GADGIMAGE GRELRIGHT LABELITEXT
  1495. > Activation : RELVERIFY BORDERSNIFF
  1496. > Type       : SYSGADGET WUPFRONT CUSTOMGADGET
  1497. >
  1498. > 07E63C6C   :  -45     0    24     16 07E5506C 00000000 00000000     0
  1499. > Flags      : GADGHCOMP GADGIMAGE GRELRIGHT LABELITEXT
  1500. > Activation : RELVERIFY BORDERSNIFF
  1501. > Type       : SYSGADGET WDOWNBACK CUSTOMGADGET
  1502. >
  1503. > 07E6682C   :  -17    -9    18     10 07E5549C 00000000 00000000     0
  1504. > Flags      : GADGHCOMP GADGIMAGE GRELBOTTOM GRELRIGHT LABELITEXT
  1505. > Activation : RELVERIFY BORDERSNIFF
  1506. > Type       : SYSGADGET SIZING CUSTOMGADGET
  1507. >
  1508. > 07E66C84   :    0     0    20     16 07E558CC 00000000 00000000     0
  1509. > Flags      : GADGHCOMP GADGIMAGE LABELITEXT
  1510. > Activation : RELVERIFY BORDERSNIFF
  1511. > Type       : SYSGADGET CLOSE CUSTOMGADGET
  1512. >
  1513. > 07E66CC4   :    0     0     0     15 00000000 00000000 00000000     0
  1514. > Flags      : GADGHCOMP GADGIMAGE GRELWIDTH LABELITEXT
  1515. > Activation : BORDERSNIFF
  1516. > Type       : SYSGADGET WDRAGGING CUSTOMGADGET
  1517.  
  1518.  
  1519. Related commands: list info
  1520.  
  1521. Related lists: wins
  1522.  
  1523. Related tutor files: LookingAtThings
  1524.  
  1525. ================================== size ======================================
  1526.  
  1527.    SIze <physical window> <x> <y>
  1528.  
  1529.  
  1530. Set the x and the y size (in pixels) for the ²physical window.
  1531. This command only works when the physical window is ¹resizable (not a
  1532. ²backdrop window).
  1533. You can move PowerVisor to another screen with the 'screen' command.
  1534. You can of course also size the PowerVisor window using the size gadget.
  1535.  
  1536. 'size' uses ¹autodefault to the 'pwin' list for the first argument.
  1537.  
  1538.  
  1539. Related commands: screen move
  1540.  
  1541. Related lists: pwin
  1542.  
  1543. Related tutor files: Screen
  1544.  
  1545. ================================= screen =====================================
  1546.  
  1547.    SCREen [<screen>]
  1548.  
  1549.  
  1550. Move the ²PowerVisor window to ²another screen. If you want PowerVisor on its
  1551. own screen, type 'screen' without arguments (this is default).
  1552. You can use the 'size' command to change the size for this window (or you
  1553. can use the sizinggadget). You can use 'move' to move the ²physical window.
  1554.  
  1555. 'screen' uses ¹autodefault to the 'scrs' list for the first argument.
  1556.  
  1557. If <screen> is 0 PowerVisor will move the 'Main' physical window on its own
  1558. screen, but the window will be resizable and movable. This is useful if
  1559. you want to customize your own design for PowerVisor.
  1560.  
  1561. If you want you can start with the PowerVisor window on the workbench
  1562. by default. See the 'prefs' command for this feature.
  1563.  
  1564.  
  1565. Example :
  1566.  
  1567. < screen workbench <enter>
  1568.  
  1569. move PowerVisor to workbench screen
  1570.  
  1571. < screen <enter>
  1572.  
  1573. back to own screen
  1574.  
  1575.  
  1576. Related commands: size move prefs
  1577.  
  1578. Related lists: scrs pwin
  1579.  
  1580. Related tutor files: Screen
  1581.  
  1582. ================================= remres =====================================
  1583.  
  1584.    REMRes <resident pointer>
  1585.  
  1586.  
  1587. Remove a ²resident module from the 'resm' list.
  1588.  
  1589. 'remres' uses ¹autodefault to the 'resm' list for the first argument.
  1590.  
  1591.  
  1592. Example :
  1593.  
  1594. < remres exec <enter>
  1595.  
  1596.  
  1597. Related lists: resm
  1598.  
  1599. ================================= remove =====================================
  1600.  
  1601.    <node> <- REMOve <node>
  1602.  
  1603.  
  1604. ³Remove a node from a list. Be carefull with this command. No checking is done
  1605. if you are really removing a node. The memory for this node is not freed (you
  1606. can later include this node again in the list with the exec functions
  1607. 'addhead', 'addtail' or 'enqueue').
  1608.  
  1609. ================================= curdir =====================================
  1610.  
  1611.    CUrdir <process> <directory name>
  1612.  
  1613.  
  1614. Set a new ²current directory for a process.
  1615.  
  1616. 'curdir' uses ¹autodefault to the 'task' list for the first argument.
  1617.  
  1618.  
  1619. Example :
  1620.  
  1621. < curdir Shell :langua/sources <enter>
  1622.  
  1623.  
  1624. Related lists: task
  1625.  
  1626. ================================== clear =====================================
  1627.  
  1628.    CLEar [<value>]
  1629.  
  1630.  
  1631. ¹Fill all unused memory with <value> (or 0 if value is not specified).
  1632. <value> is a longword.
  1633.  
  1634.  
  1635. Example :
  1636.  
  1637. < clear $ABCDEF00 <enter>
  1638.  
  1639. This command will fill all free memory with $ABCDEF00. So you can easily
  1640. see which memory is free and which memory is not if you view the memory.
  1641.  
  1642. ================================= current ====================================
  1643.  
  1644.    CURRent <logical window>
  1645.  
  1646.  
  1647. Set the ³³current logical window. Only 'Extra' and 'Main' are allowed.
  1648. Before you can use the 'extra' logical window you must open it with
  1649. the 'xwin' command or the 'openlw' command.
  1650.  
  1651. 'current' uses ¹autodefault to the 'lwin' list for the first argument.
  1652.  
  1653. You can use the 'getlwin' function to see which logical window is current.
  1654. Use the 'on' command to temporarily set the current logical window (for
  1655. one command).
  1656.  
  1657.  
  1658. Example :
  1659.  
  1660. Open 'Extra' logical window (if not already open) :
  1661.  
  1662. < xwin <enter>
  1663.  
  1664. < current extra <enter>
  1665. < l task <enter>
  1666. > ...
  1667.  
  1668. Output appears on 'Extra' logical window.
  1669.  
  1670. Close 'Extra' window :
  1671.  
  1672. < xwin <enter>
  1673.  
  1674.  
  1675. Related commands: xwin on openlw
  1676.  
  1677. Related functions: getlwin
  1678.  
  1679. Related lists: lwin
  1680.  
  1681. Related tutor files: Screen
  1682.  
  1683. =================================== on =======================================
  1684.  
  1685.    ON <logical window> <command>
  1686.  
  1687.  
  1688. With this command you can execute an other command, so that it's output
  1689. appears on the ²logical window of your choice (except 'Debug').
  1690. This command temporary sets the ²current window to <logical window>.
  1691.  
  1692. 'on' uses ¹autodefault to the 'lwin' list for the first argument.
  1693.  
  1694.    on <log win> <command>
  1695.  
  1696.       is the same as
  1697.  
  1698.    current <log win>
  1699.    <command>
  1700.    current <previous log win>
  1701.  
  1702.  
  1703. Example :
  1704.  
  1705. open 'Extra' logical window :
  1706.  
  1707. < xwin <enter>
  1708.  
  1709. execute a list on that window :
  1710.  
  1711. < on extra list task <enter>
  1712. > ...
  1713.  
  1714. Output appears on 'Extra'.
  1715.  
  1716. Using the ²group operator you can execute more commands at once :
  1717.  
  1718. < on extra {disp 1;disp 2;disp 3} <enter>
  1719. > 00000001 , 1
  1720. > 00000002 , 2
  1721. > 00000003 , 3
  1722.  
  1723. appears on 'Extra'.
  1724.  
  1725. You can also execute a command in a string :
  1726.  
  1727. Wait for input from user :
  1728.  
  1729. < scan <enter>
  1730.  
  1731. Type command (at the input prompt = '????>') :
  1732.  
  1733. < disp 4 <enter>
  1734.  
  1735. < on extra #input <enter>
  1736. > 00000004 , 4
  1737.  
  1738.  
  1739. Related commands: xwin current openlw closelw
  1740.  
  1741. Related functions: getlwin
  1742.  
  1743. Related lists: lwin
  1744.  
  1745. Related tutor files: Screen
  1746.  
  1747. =================================== cls ======================================
  1748.  
  1749.    CLs
  1750.  
  1751.  
  1752. This command clears the ³current logical window.
  1753. After the window is cleared the current position is set to the ²home position
  1754. of the logical window. This home position can be on two different places :
  1755.  
  1756.    - the real (0,0) home position. Logical windows like 'Debug' and 'Refresh'
  1757.      have this position as their home position. Such windows are called
  1758.      ²real-top windows. When such a window is cleared, PowerVisor
  1759.      automatically scrolls to the (0,0) position.
  1760.    - the top position of the bottom visible part of the logical window.
  1761.      Logical windows like 'Main' have this position as their home
  1762.      position. These windows are called ²top-visible windows. When such
  1763.      a window is cleared, PowerVisor scrolls to the bottom visible part
  1764.      of the ²logical window and sets the current position to the top
  1765.      line of this visible part.
  1766.  
  1767. Note that you can change the behaviour of each logical window with the
  1768. 'prefs' command.
  1769.  
  1770.  
  1771. Related commands: current prefs
  1772.  
  1773. Related functions: getlwin
  1774.  
  1775. Related lists: lwin
  1776.  
  1777. Related tutor files: Screen
  1778.  
  1779. =================================== led ======================================
  1780.  
  1781.    LEd
  1782.  
  1783.  
  1784. Use this command to toggle the ¹powerled on or off. This is useful when
  1785. a program is crashed or when you are using the ²led monitor.
  1786.  
  1787.  
  1788. Related commands: addfunc
  1789.  
  1790. Related lists: func
  1791.  
  1792. ================================== load ======================================
  1793.  
  1794.    <bytes loaded> <- LOAd <filename> <start> [<max bytes>]
  1795.  
  1796.  
  1797. ³Load a file into memory. Only <max bytes> are read in if specified.
  1798. Please allocate the memory you use.
  1799.  
  1800. This command displays the actual number of bytes read.
  1801.  
  1802.  
  1803. Example :
  1804.  
  1805. < pointer=alloc(n,10000) <enter>
  1806.  
  1807. < load s:startup-sequence pointer 10000 <enter>
  1808. > 0000066C , 1644
  1809.  
  1810. < disp pointer <enter>
  1811. > 07EA7E4A , 132808266
  1812.  
  1813. You can free your memory later with the 'free' function. PowerVisor will
  1814. automatically free this memory when you quit or use the 'cleanup' command.
  1815.  
  1816.  
  1817. Related commands: save cleanup
  1818.  
  1819. Related functions: free
  1820.  
  1821. Related tutor files: Scripts
  1822.  
  1823. ================================== save ======================================
  1824.  
  1825.    <bytes written> <- SAve <filename> <start> <bytes>
  1826.  
  1827.  
  1828. ²Save memory to disk.
  1829.  
  1830. This command displays the actual number of bytes written.
  1831.  
  1832.  
  1833. Example :
  1834.  
  1835. < save testfile 2000 1000 <enter>
  1836. > 000003E8,1000
  1837.  
  1838.  
  1839. Related commands: load
  1840.  
  1841. ================================== regs ======================================
  1842.  
  1843.    REGs <task>|<crash node>|<debug node>
  1844.  
  1845.  
  1846. Show the ¹registers for a ¹task, a ²crash node or a ²debug node.
  1847. When a task is crashed use the crash node pointer instead. If you don't
  1848. do this, some register may contain wrong information.
  1849.  
  1850.  
  1851. Example :
  1852.  
  1853. < regs task:input.device <enter>
  1854. > input.device        : 07E08B22 14  07E09B28    4096 Wait            TASK -
  1855. > ---------------------------------------------------------------------------
  1856. > D0: 07E0F1B4   D1: 00000000   D2: 40000000   D3: 00008000
  1857. > D4: 00000000   D5: 00000000   D6: 80000000   D7: C0000000
  1858. > A0: 07E08ACC   A1: 07E08B22   A2: 07E0D7A6   A3: 07E09CB6
  1859. > A4: 07E09B82   A5: 07E00796   A6: 07E007CC
  1860. > PC: 00F80C14   SP: 07E09B6E   SR: 0010
  1861.  
  1862.  
  1863. Related lists: task crsh dbug
  1864.  
  1865. ================================== print =====================================
  1866.  
  1867.    PRint <string>
  1868.  
  1869.  
  1870. Print a string on the ³current logical window. (Useful for ¹scripts and
  1871. ¹ARexx programs)
  1872.  
  1873.  
  1874. Example :
  1875.  
  1876. < print 'testing' <enter>
  1877. > testing
  1878.  
  1879. < print test <enter>
  1880. > test
  1881.  
  1882. To print a newline after the string, use:
  1883.  
  1884. < print 'testing\0a' <enter>
  1885.  
  1886. or
  1887.  
  1888. < print testing\0a <enter>
  1889.  
  1890. > testing
  1891.  
  1892. You can use the '\' for quoting characters too :
  1893.  
  1894. < print abc\ def\\\"\'\ the\ end\0a <enter>
  1895. > abc def\"' the end
  1896.  
  1897. or you can use the \() operator :
  1898.  
  1899. < print 'number : \(1000+3)\0a' <enter>
  1900. > number : 1003
  1901.  
  1902. < print 'task : \('input.device',%08lx)\0a' <enter>
  1903. > task : 07E063A2
  1904.  
  1905.  
  1906. Related commands: disp located current script rx
  1907.  
  1908. Related functions: getlwin
  1909.  
  1910. Related lists: lwin
  1911.  
  1912. Related tutor files: GettingStarted
  1913.  
  1914. ================================== sprint ====================================
  1915.  
  1916.    SPRint <string>
  1917.  
  1918.  
  1919. Print a string on a ²serial terminal (Useful for the ¹'addfunc' command, for
  1920. example).
  1921.  
  1922.  
  1923. Example :
  1924.  
  1925. < sprint 'First : \(1+1000), Then : \(65,%lc)\0a' <enter>
  1926. SERIAL> First : 1001, Then : A
  1927.  
  1928. < sprint test <enter>
  1929. SERIAL> test
  1930.  
  1931.  
  1932. Related commands: addfunc
  1933.  
  1934. ================================= locate =====================================
  1935.  
  1936.    LOCAte <x> [<y>]
  1937.  
  1938.  
  1939. Adjust the ²current location on the ³current logical window.
  1940.  
  1941.  
  1942. Example :
  1943.  
  1944. < locate 0,0 <enter>
  1945. < disp 3 <enter>
  1946. > 00000003 , 3
  1947.  
  1948.  
  1949. Related commands: home cls print current
  1950.  
  1951. Related functions: getx gety getchar lines cols getlwin
  1952.  
  1953. Related lists: lwin
  1954.  
  1955. Related tutor files: Screen
  1956.  
  1957. ================================ showalloc ===================================
  1958.  
  1959.    SHowalloc
  1960.  
  1961.  
  1962. This command shows all ²memory blocks allocated with the 'alloc'
  1963. function and the 'rblock' command. All memory blocks that
  1964. are in this list will be automatically freed when PowerVisor quits or when
  1965. you execute the 'cleanup' command.
  1966.  
  1967.  
  1968. Example :
  1969.  
  1970. < a=alloc(n,1000) <enter>
  1971. < b=alloc(n,100) <enter>
  1972.  
  1973. < showalloc <enter>
  1974. > 07EA6912,132802834
  1975. > 07EA77D2,132806610
  1976.  
  1977. < cleanup <enter>
  1978. < showalloc <enter>
  1979.  
  1980.  
  1981. Related commands: cleanup
  1982.  
  1983. Related functions: alloc free getsize isalloc realloc
  1984.  
  1985. ================================= cleanup ====================================
  1986.  
  1987.    CLEANup
  1988.  
  1989.  
  1990. This command frees all ²memory blocks that are allocated with the
  1991. 'alloc' function and the 'rblock' command. This is also
  1992. done automatically when PowerVisor quits.
  1993.  
  1994.  
  1995. Related commands: showalloc
  1996.  
  1997. Related functions: alloc free getsize isalloc realloc
  1998.  
  1999. Related tutor files: Scripts
  2000.  
  2001. ================================== color =====================================
  2002.  
  2003.    COLor <col num> <red> <green> <blue>
  2004.  
  2005.  
  2006. Change the ²rgb value of a ³PowerVisor screen colour.
  2007. Only use 0 or 1 for <col num> (except if you have a ³two bitplane screen).
  2008.  
  2009. This command gives an error when you try to use it when
  2010. PowerVisor is on another screen.
  2011.  
  2012.  
  2013. Related commands: screen
  2014.  
  2015. Related tutor files: Screen
  2016.  
  2017. ================================= request ====================================
  2018.  
  2019.    <result> <- REQuest <body string> <gadget string> <argument>
  2020.  
  2021.  
  2022. Show a ¹requester on the PowerVisor screen. This command uses
  2023. reqtools.library (V37 or higher) (© Nico François) is available, otherwise
  2024. this command is simulated using the 'key' function.
  2025. The result of this command is a number indicating the button that was
  2026. pressed (this number is also what you should press on the keyboard if
  2027. you don't have reqtools.library). The rightmost button is 0. All other
  2028. buttons are numbered from left to right starting with 1.
  2029.  
  2030. <body string> is the string for the requester title bar.
  2031. <gadget string> is the string with all the button text below.
  2032. Note that you can use one % C-formatting character (optionally) in one
  2033. of the above strings. If you do this <argument> is used for the value.
  2034. Note that <argument> is NOT an optional argument.
  2035.  
  2036.  
  2037. Example :
  2038.  
  2039.  
  2040. < result={request 'Body : %ld' 'LeftBut|MidBut|RightBut' 1001} <enter>
  2041.  
  2042.  
  2043. Related commands: getstring reqload reqsave
  2044.  
  2045. Related functions: key
  2046.  
  2047. ================================= reqload ====================================
  2048.  
  2049.    INPUT,<ptr to filename> <- REQLoad <title>
  2050.  
  2051.  
  2052. Ask the user for a ¹filename with a ¹filerequester. This command uses
  2053. reqtools.library (V37 or higher) (© Nico François) if available, otherwise
  2054. this command is equivalent to the 'scan' command.
  2055. The result of this command (in ¹input), is a pointer to the file name
  2056. (or 0 if the user pressed 'cancel'). This string is remembered until you
  2057. quit PowerVisor or until you use another input command ('scan', 'reqload',
  2058. 'reqsave' or 'getstring').
  2059.  
  2060. This command returns a string if used from ¹ARexx.
  2061.  
  2062. <title> is the title to be put in the requester window
  2063.  
  2064. The filerequester is a 'load' requester. This means that you can
  2065. double click on filenames.
  2066.  
  2067.  
  2068. Related commands: reqsave request getstring scan
  2069.  
  2070. ================================= reqsave ====================================
  2071.  
  2072.    INPUT,<ptr to filename> <- REQSave <title>
  2073.  
  2074.  
  2075. Ask the user for a ¹filename with a ¹filerequester. This command uses
  2076. reqtools.library (V37 or higher) (© Nico François) if available, otherwise
  2077. this command is equivalent to the 'scan' command.
  2078. The result of this command (in ¹input), is a pointer to the file name
  2079. (or 0 if the user pressed 'cancel'). This string is remembered until you
  2080. quit PowerVisor or until you use another input command ('scan', 'reqload',
  2081. 'reqsave' or 'getstring').
  2082.  
  2083. This command returns a string if used from ¹ARexx.
  2084.  
  2085. <title> is the title to be put in the requester window
  2086.  
  2087. The filerequester is a 'save' requester. This means that you can't
  2088. double click on filenames.
  2089.  
  2090.  
  2091. Related commands: reqload request getstring scan
  2092.  
  2093. ================================ getstring ===================================
  2094.  
  2095.    INPUT,<ptr to inputline> <- GEtstring <title> <max number of chars>
  2096.  
  2097.  
  2098. Ask the user for ¹input. This command uses reqtools.library (V37 or
  2099. higher) (© Nico François) if available, otherwise this command is equivalent
  2100. to the 'scan' command.
  2101. The result of this command (in ¹input), is a pointer to the result string
  2102. (or 0 if the user pressed 'cancel'). This string is remembered until you
  2103. quit PowerVisor or until you use another input command ('scan', 'reqload',
  2104. 'reqsave' or 'getstring').
  2105.  
  2106. This command returns a string if used from ¹ARexx.
  2107.  
  2108. <title> is the title to be put in the requester window
  2109. <max number of chars> is the maximum number of characters that is allowed
  2110. in the requester
  2111.  
  2112. Both parameters are ignored if 'scan' is used
  2113.  
  2114.  
  2115. Example :
  2116.  
  2117.  
  2118. < getstring 'This is the title' 256 <enter>
  2119. Requester> This is a test <enter>
  2120.  
  2121. < memory input 20 <enter>
  2122. > 07EEBC82: 54686973 20697320 61207465 73740000              This is a test..
  2123. > 07EEBC92: 00000000                                         ....
  2124.  
  2125.  
  2126. Related commands: scan request reqload reqsave
  2127.  
  2128. Related functions: key
  2129.  
  2130. ================================== scan ======================================
  2131.  
  2132.    INPUT,<ptr to inputline> <- SCAn [<number>]
  2133.  
  2134.  
  2135. Ask the user for ¹input. This command is very useful for ²ARexx scripts.
  2136. The result of this command (in ¹input), is a pointer to the result string.
  2137. This string is remembered until you quit PowerVisor or until you use
  2138. another input command ('scan', 'reqload', 'reqsave' or 'getstring').
  2139.  
  2140. This command returns a string if used from ¹ARexx.
  2141.  
  2142. Normally the prompt is '????'. If you want another 4 letter prompt you
  2143. can use <number>.
  2144.  
  2145.  
  2146. Example :
  2147.  
  2148.  
  2149. < scan *"TEST" <enter>
  2150. TEST> This is a test <enter>
  2151.  
  2152. < memory input 20 <enter>
  2153. > 07EEBC82: 54686973 20697320 61207465 73740000              This is a test..
  2154. > 07EEBC92: 00000000                                         ....
  2155.  
  2156.  
  2157. Related commands: showalloc cleanup getstring reqload reqsave
  2158.  
  2159. Related functions: key
  2160.  
  2161. ================================== disp ======================================
  2162.  
  2163.    <value of expression> <- Disp <expression>
  2164.  
  2165.  
  2166. Use this command to display an ¹expression.
  2167.  
  2168.  
  2169. Example :
  2170.  
  2171.  
  2172. < disp 4*(7-3) <enter>
  2173. > 00000010 , 16
  2174.  
  2175.  
  2176. Related commands: print locate
  2177.  
  2178. Related tutor files: Expressions
  2179.  
  2180. ================================= refresh ====================================
  2181.  
  2182.    Refresh [<refresh rate> <command>]
  2183.  
  2184.  
  2185. This command installs <command> to be executed every <refresh rate>
  2186. ¹IntuiTick (one IntuiTick is a tenth of a second).
  2187.  
  2188. With no arguments 'refresh' removes the ²refresh command.
  2189.  
  2190. Note that before you can execute this command you must open the
  2191. ³'Refresh' logical window with the 'rwin' command or with the 'openlw'
  2192. command.
  2193.  
  2194. You can also stop the refresh by closing the 'Refresh' logical window.
  2195.  
  2196.  
  2197. Example :
  2198.  
  2199. < rwin <enter>
  2200. < a=0 <enter>
  2201. < refresh 1 {home;disp a;a=a+1} <enter>
  2202.  
  2203. Look and admire the result ...
  2204.  
  2205. < refresh <enter>
  2206.  
  2207. You can also refresh a command from a string :
  2208.  
  2209. Wait for input from user :
  2210.  
  2211. < scan <enter>
  2212.  
  2213. Type command (at the input prompt = '????>') :
  2214.  
  2215. ????< disp 4 <enter>
  2216. < refresh 10 #input <enter>
  2217.  
  2218.  
  2219. Related commands: rwin list home openlw closelw
  2220.  
  2221. Related functions: rfrate rfcmd
  2222.  
  2223. Related lists: lwin
  2224.  
  2225. Related tutor files: GettingStarted Screen
  2226.  
  2227. =================================== fit ======================================
  2228.  
  2229.    FIT <logical window>
  2230.  
  2231.  
  2232. This command adjusts the ³number of columns and number of rows of a
  2233. ²logical window to fit exactly in the visible size. This is useful after a
  2234. switch from ¹non-interlace to ¹interlace for example. You can't scroll in the
  2235. logical window after a 'fit' since the window is just as large as the visible
  2236. size.
  2237.  
  2238. You can achieve the same result with the 'colrow' command, but then you have
  2239. to compute the number of columns and rows for yourselves.
  2240.  
  2241. 'fit' uses ¹autodefault to the 'lwin' list for the first argument.
  2242.  
  2243.  
  2244. Example :
  2245.  
  2246. Open the 'Extra' logical window :
  2247.  
  2248. < xwin <enter>
  2249.  
  2250. < fit extra <enter>
  2251.  
  2252.  
  2253. Related commands: colrow xwin rwin dwin awin owin
  2254.  
  2255. Related lists: lwin
  2256.  
  2257. Related tutor files: Screen
  2258.  
  2259. ================================== rwin ======================================
  2260.  
  2261.    RWin [<number of lines>]
  2262.  
  2263.  
  2264. Open/close the ²refresh window. (required if you want to use the 'refresh'
  2265. command).
  2266.  
  2267. Normally the height of the new logical window is 30 % of the total
  2268. physical window height ('Main' is the physical window for all standard
  2269. logical windows). However, if you specify <number of lines>, the logical
  2270. window will be opened with <number of lines> visible lines (This is
  2271. the number of lines when the default PowerVisor font is used).
  2272.  
  2273. By default the ³'Refresh' logical window has the following characteristics :
  2274.  
  2275.    - ³Number of columns is fixed and equal to the maximum number of columns
  2276.      visible at the time the logical window is created
  2277.    - ³Number of rows is fixed and is always equal to 50
  2278.    - ²-MORE- checking is disabled
  2279.    - ²Interrupt/Pause checking is disabled
  2280.    - ²Home position is real-top
  2281.    - ³Auto Output Snap is off
  2282.  
  2283. You can change these characteristics with the 'prefs' command.
  2284.  
  2285.  
  2286. Related commands: refresh dwin xwin awin owin fit colrow prefs
  2287.  
  2288. Related lists: lwin
  2289.  
  2290. Related tutor files: Screen
  2291.  
  2292. ================================== xwin ======================================
  2293.  
  2294.    Xwin [<numer of lines>]
  2295.  
  2296.  
  2297. Open/close the ²extra window. You can use the 'Extra' ²logical window for
  2298. everything you like. You can use it as a scratchbook for example. Using
  2299. the 'on' command you can dump some information there.
  2300.  
  2301. Normally the height of the new logical window is 30 % of the total
  2302. physical window height ('Main' is the physical window for all standard
  2303. logical windows). However, if you specify <number of lines>, the logical
  2304. window will be opened with <number of lines> visible lines (This is
  2305. the number of lines when the default PowerVisor font is used).
  2306.  
  2307. By default the ³'Extra' logical window has the following characteristics :
  2308.  
  2309.    - ³Number of columns is fixed and equal to the maximum number of columns
  2310.      visible at the time the logical window is created
  2311.    - ³Number of rows is fixed and equal to the maximum number of rows visible
  2312.      at the time the logical window is created
  2313.    - ²-MORE- checking is disabled
  2314.    - ²Interrupt/Pause checking is enabled
  2315.    - ²Home position is top-visible
  2316.    - ³Auto Output Snap is on
  2317.  
  2318. You can change these characteristics with the 'prefs' command.
  2319.  
  2320.  
  2321. Related commands: rwin dwin awin owin fit colrow prefs
  2322.  
  2323. Related lists: lwin
  2324.  
  2325. Related tutor files: Screen
  2326.  
  2327. ================================== dwin ======================================
  2328.  
  2329.    DWin [<number of lines>]
  2330.  
  2331.  
  2332. Open/close the ²debug window. (required if you want to use
  2333. ²fullscreen debugging).
  2334.  
  2335. Normally the height of the new logical window is 30 % of the total
  2336. physical window height ('Main' is the physical window for all standard
  2337. logical windows). However, if you specify <number of lines>, the logical
  2338. window will be opened with <number of lines> visible lines (This is
  2339. the number of lines when the default PowerVisor font is used).
  2340.  
  2341. By default the ³'Debug' logical window has the following characteristics :
  2342.  
  2343.    - ³Number of columns is fixed and equal to 82
  2344.    - ³Number of rows is fixed and equal to 42
  2345.    - ²-MORE- checking is disabled
  2346.    - ²Interrupt/Pause checking is disabled
  2347.    - ²Home position is real-top
  2348.    - ³Auto Output Snap is off
  2349.  
  2350. You can change these characteristics with the 'prefs' command.
  2351.  
  2352. Note ! You can't use the 'colrow' or 'fit' commands on the 'Debug' logical
  2353. window. You can't use 'on' with the 'Debug' logical window.
  2354.  
  2355.  
  2356. Related commands: rwin xwin awin owin debug prefs
  2357.  
  2358. Related lists: lwin
  2359.  
  2360. Related tutor files: Screen Debug
  2361.  
  2362. ================================== awin ======================================
  2363.  
  2364.    AWin [<number of lines>]
  2365.  
  2366.  
  2367. Open/close the ²Rexx window. When the ³'Rexx' logical window is open,
  2368. PowerVisor will use it for Rexx output. Otherwise the current logical
  2369. window is the one that will receive the output.
  2370.  
  2371. Normally the height of the new logical window is 30 % of the total
  2372. physical window height ('Main' is the physical window for all standard
  2373. logical windows). However, if you specify <number of lines>, the logical
  2374. window will be opened with <number of lines> visible lines (This is
  2375. the number of lines when the default PowerVisor font is used).
  2376.  
  2377. By default the 'Rexx' logical window has the following characteristics :
  2378.  
  2379.    - ³Number of columns is fixed and equal to the maximum number of columns
  2380.      visible at the time the logical window is created
  2381.    - ³Number of rows is fixed and is always equal to 50
  2382.    - ²-MORE- checking is disabled
  2383.    - ²Interrupt/Pause checking is disabled
  2384.    - ²Home position is top-visible
  2385.    - ³Auto Output Snap is off
  2386.  
  2387. You can change these characteristics with the 'prefs' command.
  2388.  
  2389.  
  2390. Related commands: rwin dwin xwin owin fit colrow prefs
  2391.  
  2392. Related lists: lwin
  2393.  
  2394. Related tutor files: Screen Scripts
  2395.  
  2396. ================================== owin ======================================
  2397.  
  2398.    OWin [<number of lines>]
  2399.  
  2400.  
  2401. Open/close the ²PortPrint window. When the ³'PPrint' logical window is open,
  2402. PowerVisor will use it for all PortPrint output. Otherwise the current
  2403. logical window is the one that will receive the output.
  2404.  
  2405. Normally the height of the new logical window is 30 % of the total
  2406. physical window height ('Main' is the physical window for all standard
  2407. logical windows). However, if you specify <number of lines>, the logical
  2408. window will be opened with <number of lines> visible lines (This is
  2409. the number of lines when the default PowerVisor font is used).
  2410.  
  2411. By default the 'PPrint' logical window has the following characteristics :
  2412.  
  2413.    - ³Number of columns is fixed and equal to the maximum number of columns
  2414.      visible at the time the logical window is created
  2415.    - ³Number of rows is fixed and is always equal to 50
  2416.    - ²-MORE- checking is disabled
  2417.    - ²Interrupt/Pause checking is disabled
  2418.    - ²Home position is top-visible
  2419.    - ³Auto Output Snap is off
  2420.  
  2421. You can change these characteristics with the 'prefs' command.
  2422.  
  2423.  
  2424. Related commands: rwin dwin awin xwin fit colrow prefs
  2425.  
  2426. Related lists: lwin
  2427.  
  2428. Related tutor files: Screen
  2429.  
  2430. ================================== mode ======================================
  2431.  
  2432.    MOde <mode argument> {<mode argument>...}
  2433.  
  2434.  
  2435. Install ¹preferences for PowerVisor.
  2436.  
  2437. The following arguments are supported:
  2438.    pal         set monitor to ¹pal (only AmigaDOS 2.0)
  2439.                the non-interlaced resolution is 640x256 and the
  2440.                interlaced resolution is 640x512. This resolution will be
  2441.                bigger if you use overscan.
  2442.    ntsc        set monitor to ¹ntsc (only AmigaDOS 2.0)
  2443.                non-interlaced : 640x200
  2444.                interlaced : 640x400
  2445.    vga         set monitor to ¹vga (only AmigaDOS 2.0 and new denise)
  2446.                non-interlaced : 640x480
  2447.                interlaced : 640x960
  2448.    viking      set monitor to ¹a2024 (only AmigaDOS 2.0)
  2449.                resolution : 1024x1008
  2450.  
  2451.    lace        use ¹interlace
  2452.    nolace      ²no interlace (default)
  2453.  
  2454.    fancy       use ²two bitplanes for the PowerVisor screen (default)
  2455.    nofancy     use only ²one bitplane
  2456.  
  2457.    sbottom     include the ²size gadget in the ²bottom border. This means that
  2458.                you loose a line but you gain some columns (default)
  2459.    nosbottom   include the ²size gadget in the ²right border of the window.
  2460.                You loose some columns but you gain a line or so
  2461.  
  2462.    space       add a space after a ¹snapped word (default)
  2463.    nospace     don't add a space. Simply snap the word as it is
  2464.  
  2465.    lonespc     snap a space if you click on an empty place in a logical
  2466.                window
  2467.    nolonespc   don't snap a space (default)
  2468.  
  2469.    shex        show ²hex words when ²disassembling instructions. The
  2470.                disadvantage is that these words could overwrite the right
  2471.                side of the ¹symbolname if present (default)
  2472.    noshex      don't show hex words. ¹Symbols will be completely visible
  2473.  
  2474.    dec         display all printed ¹integers as ¹decimal only
  2475.    hex         display all printed integers as ¹hexadecimal only
  2476.    hexdec      first display hex, than display decimal (default)
  2477.  
  2478.    more        enable ²-MORE- check for the 'Main' logical window (default)
  2479.    nomore      disable -MORE- check
  2480.  
  2481.    auto        perform an ²automatic list whenever the ²current list changes
  2482.    noauto      don't do this (default)
  2483.  
  2484.    byte        ²list memory as ¹bytes (for the 'memory' command)
  2485.    word        list memory as ¹words
  2486.    long        list memory as ¹longs (default)
  2487.    ascii       list memory as ¹ascii
  2488.  
  2489.    fb          ¹feedback each command as it is typed in by the user on
  2490.                the ³current logical window (default)
  2491.    nofb        don't do this
  2492.  
  2493.    patch       patch the ²Exec AddTask function. When this function is
  2494.                patched by PowerVisor ¹crashtrapping will work better
  2495.                for all new tasks created after the patch is applied.
  2496.                This is recommended if you use ²resident breakpoints
  2497.                (see the 'Debug' file). Note that it is not safe to
  2498.                run other debuggers (like ¹CodeProbe or ¹MonAm) when
  2499.                the patch is applied. They will probably crash when
  2500.                you try to trace with them. There will (probably) be
  2501.                no problems if you start the other debugger and load
  2502.                the debug program with this debugger BEFORE you
  2503.                apply the patch (before you start PowerVisor or before
  2504.                you type 'mode patch'). (default)
  2505.    nopatch     Don't patch the Exec AddTask function. When the AddTask
  2506.                function is not patched, PowerVisor will trap a crash
  2507.                a bit later (too late if you plan to use resident
  2508.                breakpoints). With the patch applied PowerVisor traps
  2509.                crashes just on the spot while if the patch is not
  2510.                applied PowerVisor will only trap the crash just before
  2511.                the guru would normally arrive (you will even have to
  2512.                press 'cancel' on the 'task-held' requester before
  2513.                PowerVisor notices the crash). But 'mode nopatch' is
  2514.                the only safe way to run other debuggers concurrently
  2515.                with PowerVisor.
  2516.  
  2517. You can set and examine the ²'mode' variable. This is useful for ¹scripts
  2518. (for example to remember the current settings so that the script can restore
  2519. them later).
  2520.  
  2521. When you have installed everything as you like it best you can make
  2522. the new values default with the 'saveconfig' command.
  2523.  
  2524.  
  2525. Example :
  2526.  
  2527. < mode byte dec <enter>
  2528.  
  2529. < d 4 <enter>
  2530. > 4
  2531.  
  2532. < m 0 <enter>
  2533. > 00000000: 00 00 00 00 07 E0 07 CC 00 F8 08 34 00 F8 0B 16  ...........4....
  2534. > 00000010: 00 F8 0A DA 00 F8 0A DC 00 F8 0A DE 00 F8 0A E0  ................
  2535. > 00000020: 00 F8 0C 00 00 F8 0A E4 00 F8 0A E7 00 F8 0A E8  ................
  2536. > 00000030: 00 F8 0A EA 00 F8 0A EC 00 F8 0A EE 00 F8 0A F0  ................
  2537. > 00000040: 00 F8 0A F2 00 F8 0A F4 00 F8 0A F6 00 F8 0A F8  ................
  2538. > ...
  2539.  
  2540. < mode long hexdec <enter>
  2541.  
  2542. < d 4 <enter>
  2543. > 00000004,4
  2544.  
  2545. < m 0 <enter>
  2546. > 00000000: 00000000 07E007CC 00F80834 00F80B16              ...........4....
  2547. > 00000010: 00F80ADA 00F80ADC 00F80ADE 00F80AE0              ................
  2548. > 00000020: 00F80C00 00F80AE4 00F80AE7 00F80AE8              ................
  2549. > 00000030: 00F80AEA 00F80AEC 00F80AEE 00F80AF0              ................
  2550. > 00000040: 00F80AF2 00F80AF4 00F80AF6 00F80AF8              ................
  2551. > 00000050: 00F80AFA 00F80AFC 00F80AFE 00F80B00              ................
  2552. > 00000060: 00F80B02 00F810F4 00F81152 00F81188              ...........R....
  2553. > 00000070: 00F811E6 00F8127C 00F812C6 00F81310              .......|........
  2554. > 00000080: 00F80B70 00F80B72 00F80B74 00F80B76              ...p...r...t...v
  2555. > 00000090: 00F80B78 00F80B7A 00F80B7C 00F80B7E              ...x...z...|...~
  2556. > 000000A0: 00F80B80 00F80B82 00F80B84 00F80B86              ................
  2557. > 000000B0: 00F80B88 00F80B8A 00F80B8C 00F80B8E              ................
  2558. > 000000C0: 00F80B90 00F80B92 00F80B94 00F80B96              ................
  2559. > 000000D0: 00F80B98 00F80B9A 00F80B9C 00F80B9E              ................
  2560. > 000000E0: 00F80BA0 00F80BA2 00F80BA4 00F80BA6              ................
  2561. > 000000F0: 00F80BA8 00F80BAA 00F80BAC 00F80BAE              ................
  2562. > 00000100: 80000005 07E08B22 66FFE6F7 00000000              ......."f.......
  2563. > 00000110: 66FF66FA 66FB667F 66FFA67F 66FF66F1              f.f.f.ff..f.f.
  2564. > 00000120: 66FFF6FB 66F7E6DF 66FF663F 66FF66F7              f...f...f.f?f.f.
  2565. > 00000130: 66FF66F9 64FF66FF 66FF66FF 66DFA6E7              f.f.d.f.f.f.f...
  2566.  
  2567.  
  2568. Related commands: saveconfig prefs
  2569.  
  2570. Related tutor files: InstallingPowerVisor
  2571.  
  2572. ================================== copy ======================================
  2573.  
  2574.    Copy <source> <destination> <bytes>
  2575.  
  2576.  
  2577. ¹Copy <bytes> bytes from <source> to <destination>.
  2578. Be cautious with this command. It can be very destructive.
  2579.  
  2580.  
  2581. Related commands: fill search
  2582.  
  2583. ================================== fill ======================================
  2584.  
  2585.    Fill <dest> <bytes> <with>
  2586.  
  2587.  
  2588. ¹Fill the memory starting at <dest> with the string <with>. Do this
  2589. for <bytes> bytes.
  2590.  
  2591. Be cautious with this command. It can be very destructive.
  2592.  
  2593.  
  2594. Example :
  2595.  
  2596. < a=alloc(n,1000) <enter>
  2597. < fill a 22 'test\41' <enter>
  2598.  
  2599. will copy 4.4 times the string "testA" beginning at address in a.
  2600. The memory map looks something like:
  2601.  
  2602. < m a <enter>
  2603. > 07E79AB2: 74657374 41746573 74417465 73744174              testAtestAtestAt
  2604. > 07E79AC2: 65737441 74650000 00000000 00000000              estAte..........
  2605. > 07E79AD2: 00000000 00000000 00000000 00000000              ................
  2606. > 07E79AE2: 00000000 00000000 00000000 00000000              ................
  2607. > ...
  2608.  
  2609.  
  2610. Related commands: copy search
  2611.  
  2612. ================================= search =====================================
  2613.  
  2614.    RC,<address> <- Search <start> <bytes> <string>
  2615.  
  2616.  
  2617. ¹Search to a string in memory starting at <start>. Search until the
  2618. string is found, or until you have searched <bytes> bytes.
  2619.  
  2620. Use the 'next' command to continue the search.
  2621. You can use the 'lastfound' function to see where 'next' will continue
  2622. its search.
  2623.  
  2624.  
  2625. Example :
  2626.  
  2627. < a=alloc(n,1000) <enter>
  2628. < fill a+100 4 'test' <enter>
  2629.  
  2630. < search a 1000 'test' <enter>
  2631. > 07E83756 , 132659030
  2632.  
  2633. Will search for the string "test" beginning at 'a'. If after 1000 bytes
  2634. the string is not found, 0 is the result.
  2635.  
  2636.  
  2637. Related commands: next copy fill
  2638.  
  2639. Related functions: lastfound
  2640.  
  2641. ================================== next ======================================
  2642.  
  2643.    RC,<address> <- Next
  2644.  
  2645.  
  2646. ²Continue searching at the last position.
  2647. This command prints 0 if not found.
  2648.  
  2649. You can use the 'lastfound' function to see where 'next' will continue
  2650. its search.
  2651.  
  2652.  
  2653. Related commands: search copy fill
  2654.  
  2655. Related functions: lastfound
  2656.  
  2657. ================================= account ====================================
  2658.  
  2659.    ACCount
  2660.  
  2661.  
  2662. This command enables/disables ²stack checking and ²task accounting.
  2663. Default is disabled.
  2664. Use the 'prefs' command to install another ²warning level for the
  2665. ³stack overflow checker.
  2666.  
  2667. Stack checking is done in the Exec Switch function. This means that the
  2668. stack checking resolution is not very high (see the 'stack' command).
  2669.  
  2670. Note that the 'stack' command provides a better stack checker for one
  2671. specific task.
  2672.  
  2673.  
  2674. Related commands: prefs stack
  2675.  
  2676. ================================== stack =====================================
  2677.  
  2678.    STAck [<task> <micro seconds>]
  2679.  
  2680.  
  2681. Use this command to check stack usage for a specific task. You can only
  2682. check one task at the time. With no arguments this command removes the
  2683. stack checker.
  2684.  
  2685. 'stack' uses the UNIT_MICROHZ timer device. This means that <micro seconds>
  2686. must be greater or equal than 2. This command has a better check resolution
  2687. than 'account' (if your <micro seconds> value is low enough).
  2688.  
  2689. 'stack' freezes the task when a stack overflow is about to occur (see the
  2690. 'prefs' command for the minimum number of bytes allowed in the stack).
  2691. Note that this behaviour is different from 'account'. Stack overflows
  2692. trapped with the 'account' stack checker are put in the 'crsh' (crash)
  2693. list (This behaviour may change in future).
  2694.  
  2695. In addition to stack checking this command also computes the maximum stack
  2696. usage for the task. You can display this maximum with the 'getstack'
  2697. function.
  2698.  
  2699. 'stack' uses ¹autodefault to the 'task' list for the first argument.
  2700.  
  2701.  
  2702. Related commands: prefs stack
  2703.  
  2704. Related functions: getstack
  2705.  
  2706. ================================== kill ======================================
  2707.  
  2708.    Kill <task>|<crash node>
  2709.  
  2710.  
  2711. ¹Cancel the specified task. This command works even if the task was
  2712. frozen.
  2713.  
  2714. If the task you want to kill has crashed, PowerVisor will also remove
  2715. the corresponding ²crash node. You can also kill a crashed task with a
  2716. pointer to the crash node instead of the task node.
  2717. Do not kill a ²debug task. Remove this with the 'debug' command.
  2718.  
  2719. Note that 'kill' will also try to remove all ¹windows and ¹screens belonging
  2720. to the task.
  2721.  
  2722. Note that it is very dangerous to kill a task while it is using some
  2723. functions from the dos.library.
  2724.  
  2725. 'kill' uses ¹autodefault to the 'task' list for the first argument.
  2726.  
  2727.  
  2728. Related commands: debug freeze
  2729.  
  2730. Related lists: task crsh
  2731.  
  2732. ================================= freeze =====================================
  2733.  
  2734.    FReeze <task>
  2735.  
  2736.  
  2737. ¹Freeze a task. Remember that when you quit PowerVisor all ²frozen tasks
  2738. are lost.
  2739.  
  2740. Use the 'unfreeze' command to unfreeze a task.
  2741. In the 'task' list all frozen tasks have ¹'Cold' as their 'Stat'.
  2742.  
  2743. 'freeze' uses ¹autodefault to the 'task' list for the first argument.
  2744.  
  2745.  
  2746. Related commands: kill unfreeze
  2747.  
  2748. Related lists: task
  2749.  
  2750. ================================ unfreeze ====================================
  2751.  
  2752.    UNFreeze <task>
  2753.  
  2754.  
  2755. ¹Unfreeze a task you have frozen before.
  2756.  
  2757. 'unfreeze' uses ¹autodefault to the 'task' list for the first argument.
  2758.  
  2759.  
  2760. Related commands: freeze kill
  2761.  
  2762. Related lists: task
  2763.  
  2764. ================================= addfunc ====================================
  2765.  
  2766.    RC,<func node> <- ADdfunc (<libfuncname> | 'offs' <library> <offset>)
  2767.                      ['only' <task>] [<type> [<command>]]
  2768.  
  2769.  
  2770. This is a very powerfull command which enables you to monitor
  2771. ²library functions. I will explain this command with examples.
  2772.  
  2773. 'addfunc' uses ¹autodefault to the 'task' list for the <task> argument.
  2774. 'addfunc' uses ¹autodefault to the 'libs' list for the <library> argument.
  2775.  
  2776. The following <type>s are available :
  2777.  
  2778.    .none. (do not specify) Only remember the information for the
  2779.                            8 last tasks using this function
  2780.    LED                     Blink the ¹powerled everytime the function
  2781.                            is used. Also remember the 8 last tasks
  2782.                            using the function
  2783.    FULL                    Remember the 8 last tasks using this function
  2784.                            and also remember the registers they used to
  2785.                            call this function
  2786.    FULLLED                 Combination of FULL and LED
  2787.    EXEC                    Execute <command> everytime the function is
  2788.                            called
  2789.  
  2790.  
  2791. Examples :
  2792.  
  2793. < loadfd exec fd:exec_lib.fd <enter>
  2794. > ...
  2795.  
  2796. < addfunc openlibrary <enter>
  2797.  
  2798. Whenever some task uses the openlibrary function call, the usage count
  2799. increments and the information for the last 8 tasks using this function is
  2800. updated.
  2801.  
  2802. < addfunc putmsg led <enter>
  2803.  
  2804. Whenever a task uses the putmsg function the powerled switches its state.
  2805. The information about the 8 last tasks using this function is updated.
  2806.  
  2807. < addfunc wait only trackdisk.device <enter>
  2808.  
  2809. Everytime 'trackdisk.device' uses the Wait function, the usage count is
  2810. incremented and the information for the 8 last tasks is updated.
  2811.  
  2812. You can find the usage counter in the list 'func'. Type 'func' to set
  2813. this list to the current one and type 'list'.
  2814.  
  2815. < l func <enter>
  2816. > Function monitor    : Node     Library  Offset Traptask    Count Type
  2817. > ---------------------------------------------------------------------------
  2818. > wait                : 07EA2250 07E007D8    318 07E0C6E4        2 LED
  2819. > putmsg              : 07EA1F48 07E007D8    366 00000000      314 LED
  2820. > openlibrary         : 07EA1C40 07E007D8    552 00000000       92 NORM
  2821.  
  2822. < remfunc wait <enter>
  2823. < remfunc putmsg <enter>
  2824. < remfunc openlibrary <enter>
  2825.  
  2826. < addfunc availmem full <enter>
  2827.  
  2828. With the 'info' command you can see the 8 last tasks using this function
  2829. and the contents of the registers before the function is called :
  2830.  
  2831. < info func:availmem func <enter>
  2832. > Function monitor    : Node     Library  Offset Traptask    Count Type
  2833. > ---------------------------------------------------------------------------
  2834. > availmem            : 07ED0680 07E007D8    216 00000000       13 FULL
  2835. >
  2836. > Workbench           : 07E339D0 01  07E35176    6000 Wait Workbench  (02) -
  2837. > D0: 001974E0   D1: 00000004   D2: 80000000   D3: 00000000
  2838. > D4: 00000000   D5: 00000001   D6: 40000000   D7: 80000000
  2839. > A0: 07E321B4   A1: 07E0091E   A2: 07E321B4   A3: 07E376F6
  2840. > A4: 07E326B8   A5: 07E351A8
  2841. > Workbench           : 07E339D0 01  07E35176    6000 Wait Workbench  (02) -
  2842. > D0: 00000000   D1: 00000000   D2: 80000000   D3: 00000000
  2843. > D4: 00000000   D5: 00000001   D6: 40000000   D7: 80000000
  2844. > A0: 07E321B4   A1: 07E321B4   A2: 07E321B4   A3: 07E376F6
  2845. > A4: 07E326B8   A5: 07E351A8
  2846. > Workbench           : 07E339D0 01  07E35176    6000 Wait Workbench  (02) -
  2847. > D0: 00243E50   D1: 00000002   D2: 80000000   D3: 00000000
  2848. > D4: 00000000   D5: 00000001   D6: 40000000   D7: 80000000
  2849. > A0: 07E321B4   A1: 07E0091E   A2: 07E321B4   A3: 07E376F6
  2850. > A4: 07E326B8   A5: 07E351A8
  2851. > Workbench           : 07E339D0 01  07E35176    6000 Wait Workbench  (02) -
  2852. > D0: 001974E0   D1: 00000004   D2: 80000000   D3: 00000000
  2853. > D4: 00000000   D5: 00000001   D6: 40000000   D7: 80000000
  2854. > A0: 07E321B4   A1: 07E0091E   A2: 07E321B4   A3: 07E376F6
  2855. > A4: 07E326B8   A5: 07E351A8
  2856. > Workbench           : 07E339D0 01  07E35176    6000 Wait Workbench  (02) -
  2857. > D0: 00000408   D1: 00020001   D2: 01FADB81   D3: 00000000
  2858. > D4: 40000000   D5: 80000000   D6: 00000000   D7: 00000408
  2859. > A0: 00000000   A1: 07E1EF8C   A2: 07ECF5A8   A3: 07E1EF8C
  2860. > A4: 07E220C0   A5: 07E21E58
  2861. > Workbench           : 07E339D0 01  07E35176    6000 Wait Workbench  (02) -
  2862. > D0: 001974E0   D1: 00000004   D2: 80000000   D3: 00000000
  2863. > D4: 00000000   D5: 00000001   D6: 40000000   D7: 80000000
  2864. > A0: 07E321B4   A1: 07E0091E   A2: 07E321B4   A3: 07E376F6
  2865. > A4: 07E326B8   A5: 07E351A8
  2866. > Workbench           : 07E339D0 01  07E35176    6000 Wait Workbench  (02) -
  2867. > D0: 00000000   D1: 00000000   D2: 80000000   D3: 00000000
  2868. > D4: 00000000   D5: 00000001   D6: 40000000   D7: 80000000
  2869. > A0: 07E321B4   A1: 07E321B4   A2: 07E321B4   A3: 07E376F6
  2870. > A4: 07E326B8   A5: 07E351A8
  2871. > Workbench           : 07E339D0 01  07E35176    6000 Rdy  Workbench  (02) -
  2872. > D0: 00243E70   D1: 00000002   D2: 80000000   D3: 00000000
  2873. > D4: 00000000   D5: 00000001   D6: 40000000   D7: 80000000
  2874. > A0: 07E321B4   A1: 07E0091E   A2: 07E321B4   A3: 07E376F6
  2875. > A4: 07E326B8   A5: 07E351A8
  2876.  
  2877. < remfunc availmem <enter>
  2878.  
  2879. < addfunc availmem exec print 'avail\0a' <enter>
  2880. > avail
  2881. > ...
  2882.  
  2883. < remfunc availmem <enter>
  2884.  
  2885. Everytime the 'availmem' Exec function is called, PowerVisor will print a
  2886. message on the PowerVisor screen. You can use very complex instructions.
  2887. When the command is executed you can make use of the 'rc' variable. This
  2888. variable will contain the pointer to a copy of the 'func' node for the
  2889. function. See the 'TheWizardCorner' for more information about function
  2890. nodes. Here is an example :
  2891.  
  2892. < addfunc availmem exec disp *(rc+24) <enter>
  2893. > 00000001 , 1
  2894. > 00000002 , 2
  2895. > ...
  2896.  
  2897. < remfunc availmem <enter>
  2898.  
  2899. When the command 'disp *(rc+24)' is executed (thus after 'AvailMem' is
  2900. called) 'rc' points to a copy of the function node. At offset 24 we
  2901. find the usagecounter.
  2902.  
  2903.  
  2904. Related commands: remfunc
  2905.  
  2906. Related lists: func
  2907.  
  2908. ================================= remfunc ====================================
  2909.  
  2910.    REMfunc <function monitor node>
  2911.  
  2912.  
  2913. Use this function to remove a ¹patch you installed with 'addfunc'.
  2914. Note that you must remove multiple patches of the same function in
  2915. reverse order. Note that PowerVisor will give an error if you try
  2916. to remove the oldest patch first.
  2917.  
  2918. Warning ! Be very careful when it is possible that some other program
  2919. is also patching the function. There could be conflicts. PowerVisor
  2920. tries to be friendly and checks everything, but you can't be sure that
  2921. other programs are as friendly as PowerVisor.
  2922.  
  2923. You can find the nodes for the function monitor in the 'func' list
  2924.  
  2925. 'remfunc' uses ¹autodefault to the 'func' list for the first argument.
  2926.  
  2927.  
  2928. Related commands: addfunc
  2929.  
  2930. Related lists: func
  2931.  
  2932. ================================== unasm =====================================
  2933.  
  2934.    Unasm [<start> [<instructions>]]
  2935.  
  2936.  
  2937. This command ²disassembles machinelanguage beginning at <start>.
  2938. <instructions> instructions are disassembled.
  2939. This command also shows ¹symbols and ¹breakpoints if there are any.
  2940. The disassembler supports the following processors :
  2941.    ¹68000, ¹68010, ¹68020, ¹68030, ¹68040, ¹68881, ¹68882, ¹68851
  2942.  
  2943. With no arguments this command continues the disassembly.
  2944.  
  2945. <instructions> is 20 by default.
  2946. PowerVisor remembers the last number of lines used with this command
  2947. and uses this number as the new default number of <instructions> for
  2948. the following 'unasm' commands.
  2949.  
  2950. Normally you will also see the ²hex data corresponding with the code.
  2951. You can disable this (and thus provide for longer labels in symbolic
  2952. disassembly) with the mode command (noshex).
  2953.  
  2954. If you press <enter> after an 'unasm' command, the disassembly will
  2955. continue.
  2956.  
  2957.  
  2958. Related commands: view memory mode
  2959.  
  2960. Related functions: lastmem lastlines
  2961.  
  2962. Related tutor files: LookingAtThings
  2963.  
  2964. ================================= libinfo ====================================
  2965.  
  2966.    LIBInfo <library function name>
  2967.  
  2968.  
  2969. This command shows you the library, the offset and the ²register usage
  2970. for a library function. You must have loaded the corresponding ¹fd-file
  2971. first.
  2972.  
  2973. < loadfd exec fd:exec_lib.fd <enter>
  2974. > ...
  2975.  
  2976. < libinfo putmsg <enter>
  2977. > 07E007CC   -366 (A0,A1)
  2978.  
  2979.  
  2980. Related commands: loadfd unloadfd libfunc
  2981.  
  2982. Related lists: fdfi
  2983.  
  2984. Related tutor files: LookingAtThings
  2985.  
  2986. ================================== list ======================================
  2987.  
  2988.    List [<list>]
  2989.  
  2990.  
  2991. With arguments this command ¹lists the ²current list. With an argument
  2992. 'list' lists <list> :-)
  2993.  
  2994.  
  2995. Related commands: info
  2996.  
  2997. Related tutor files: Lists GettingStarted
  2998.  
  2999. ================================= memory =====================================
  3000.  
  3001.    Memory [<start> [<bytes>]]
  3002.  
  3003.  
  3004. This command shows memory beginning at <start>.
  3005. <bytes> bytes are shown.
  3006.  
  3007. With no arguments this command continues the memory list.
  3008.  
  3009. <bytes> is 320 by default.
  3010. PowerVisor remembers the last number of bytes used with the command
  3011. (and the 'view' command) and uses this number as the new default
  3012. number of <bytes> for the following 'memory' (or 'view') commands.
  3013.  
  3014. Use the 'mode' command to install preferences for list memory:
  3015.    mode byte         for byte grouping
  3016.    mode word         for word grouping
  3017.    mode long         for longword grouping (default)
  3018.    mode ascii        for ascii viewing
  3019.  
  3020. Look at the 'view' command for a more powerful dump routine.
  3021.  
  3022. If you press <enter> after a 'memory' command, the listing will
  3023. continue.
  3024.  
  3025.  
  3026. Related commands: view unasm mode
  3027.  
  3028. Related functions: lastmem lastbytes
  3029.  
  3030. Related tutor files: LookingAtThings
  3031.  
  3032. ================================== info ======================================
  3033.  
  3034.    Info <object address> [<list>]
  3035.  
  3036.  
  3037. The 'info' command can be used to ask more information about an element of a
  3038. list.
  3039. Note that the information this command gives will contain no ¹BPTR's. These
  3040. are automatically converted to ¹APTR's.
  3041.  
  3042.  
  3043. Examples :
  3044.  
  3045. Let's assume we have the 'PowerVisor' task in the task list (this is in
  3046. fact the case since you have probably started PowerVisor :-) :
  3047.  
  3048. < info task:powervisor task <enter>
  3049.  
  3050. or
  3051.  
  3052. < info powervisor task <enter>
  3053.  
  3054. or
  3055.  
  3056. < info powervisor <enter>
  3057.  
  3058. or
  3059.  
  3060. < info task:powervisor <enter>
  3061.  
  3062. > Task node name      : Node     Pri StackPtr  StackS Stat Command        Acc
  3063. > ---------------------------------------------------------------------------
  3064. > PowerVisor1.0.task  : 07E70370 00  07E7137E    4096 Wait            TASK -
  3065. >
  3066. > IDNestCnt    : 00       | TDNestCnt    : FF       | SigAlloc     : E000FFFF
  3067. > SigWait      : E0000000 | SigRecvd     : 00000000 | SigExcept    : 00000000
  3068. > TrapAlloc    : 8000     | TrapAble     : 0000     | ExceptData   : 00000000
  3069. > ExceptCode   : 00F83AEC | TrapData     : 00000000 | TrapCode     : 07E77696
  3070. > SpLower      : 07E703D0 | SpUpper      : 07E713D0 | SpReg        : 07E7137E
  3071. > MemEntry     : 07E703BA | UserData     : 00000000 |
  3072.  
  3073. The first version of the command is the safest one. There is nothing that
  3074. can go wrong there.
  3075.  
  3076. The second version could crash if the ²current list is not equal to the 'task'
  3077. list. This is because PowerVisor will then try to interprete the element
  3078. starting with 'powervisor' in the other current list as a task. (If you
  3079. are lucky there is no such element in the current list, in that case you
  3080. simply get an error).
  3081.  
  3082. The third version is also safe although you could end up with the wrong
  3083. information for the wrong element in the wrong list.
  3084.  
  3085. The last version could crash if the current list is not equal to the
  3086. 'task' list. It is in fact the most dangerous version of all.
  3087.  
  3088. The 'info' command does not work for the 'Exec', 'IntB' and 'Graf' lists.
  3089. This is because these lists are structures and already give you all
  3090. information there is.
  3091.  
  3092.  
  3093. Related commands: list
  3094.  
  3095. Related tutor files: LookingAtThings
  3096.  
  3097. ================================= memtask ====================================
  3098.  
  3099.    MEMTask <task>
  3100.  
  3101.  
  3102. Show memory for a task. This is the memory which is allocated via
  3103. ¹AllocEntry and is attached to the task.
  3104.  
  3105. 'memtask' uses ¹autodefault for the 'task' list for the first argument.
  3106.  
  3107.  
  3108. Example :
  3109.  
  3110. < memtask powervisor <enter>
  3111. > 07EB4F28,132861736
  3112. >   07EB4F38         92
  3113. >   07EB4F40       4096
  3114.  
  3115. This means that there is one ³memory header node in the TC_MEMENTRY
  3116. list of the task. This node contains two entries. One with 92 allocated
  3117. bytes and one with 4096 allocated bytes. The first number in the
  3118. output is the address of the allocated memory.
  3119.  
  3120.  
  3121. Related lists: task
  3122.  
  3123. Related tutor files: LookingAtThings
  3124.  
  3125. ================================ remcrash ====================================
  3126.  
  3127.    REMCrash <crash node>
  3128.  
  3129.  
  3130. When a task crashes, PowerVisor makes a ²crash node. You can find this
  3131. node in the ²Crsh list. You can remove this node with the remcrash command.
  3132. Note that this command will not remove the task. The task will simply be
  3133. left waiting for a signal that will never come.
  3134.  
  3135.  
  3136. Related lists: crsh task
  3137.  
  3138. ================================= loadfd =====================================
  3139.  
  3140.    RC,<number of functions> <- LOADFd <library> <file-name>
  3141.  
  3142.  
  3143. This command loads a ¹fd-file in memory. After you have loaded an fd-file
  3144. you can use the ²library functions defined in it.
  3145.  
  3146. PowerVisor uses fd-files for the following features :
  3147.  
  3148.    - You can call library functions defined in the fd-file. These library
  3149.      functions can be called as you would call them using C
  3150.    - PowerVisor will know how to display library functions when you are
  3151.      debugging. This is very useful
  3152.    - You can use all loaded functions with the 'addfunc' command
  3153.    - You can ask information about all loaded library functions with
  3154.      the 'libfunc' and 'libinfo' commands
  3155.  
  3156. 'loadfd' will do nothing when the fd-file is already loaded in memory.
  3157. You can find all loaded fd-files in the 'FdFi' list.
  3158.  
  3159. 'rc' contains the pointer to the loaded fd-file node in the 'FdFi' list.
  3160. <number of functions> is equal to the number of functions actually loaded.
  3161. 'rc' will be equal to -1 when the fd-file already existed.
  3162.  
  3163.  
  3164. Example :
  3165.  
  3166. < loadfd exec fd:exec_lib.fd <enter>
  3167. > New functions: 0000007E,126
  3168.  
  3169. < libinfo allocmem <enter>
  3170. > 07E007D8   -198 (D0,D1)
  3171.  
  3172.  
  3173. Related commands: unloadfd libinfo libfunc
  3174.  
  3175. Related lists: fdfi
  3176.  
  3177. ================================= unlock =====================================
  3178.  
  3179.    UNLOCk <pointer to a lock>
  3180.  
  3181.  
  3182. This command ³unlocks a lock. The pointer to the lock must be an APTR,
  3183. not a BPTR !
  3184.  
  3185.  
  3186. Related commands: pathname
  3187.  
  3188. Related lists: lock fils
  3189.  
  3190. ================================== sync ======================================
  3191.  
  3192.    SYNc
  3193.  
  3194.  
  3195. Use this command to ¹synchronize PowerVisor with ARexx. Normally you can
  3196. execute an ¹ARexx script (with 'rx') and while this script is executing
  3197. you can still use PowerVisor for other things. When you use this command,
  3198. PowerVisor will disable user input. Only ARexx commands are accepted.
  3199.  
  3200. Do not forget to 'async' in your ARexx script.
  3201.  
  3202.  
  3203. Related commands: async rx
  3204.  
  3205. Related tutor files: Scripts
  3206.  
  3207. ================================== async =====================================
  3208.  
  3209.    ASYnc
  3210.  
  3211.  
  3212. Use this command to disable the ¹synchronization enabled with 'sync'.
  3213.  
  3214.  
  3215. Related commands: sync rx
  3216.  
  3217. Related tutor files: Scripts
  3218.  
  3219. ================================== hide ======================================
  3220.  
  3221.    HIde
  3222.  
  3223.  
  3224. Hide all output from commands issued from an ARexx script.
  3225. This is equivalent to using the '-' operator in front of a commandline
  3226. (when you are typing commands from PowerVisor). But you can't type a '-'
  3227. in front of an ¹ARexx commandline, so you have to use 'hide'.
  3228.  
  3229.  
  3230. Related commands: unhide rx
  3231.  
  3232. Related tutor files: Scripts
  3233.  
  3234. ================================= unhide =====================================
  3235.  
  3236.    UNHide
  3237.  
  3238.  
  3239. Unhide all output from commands issued from an ARexx script.
  3240.  
  3241.  
  3242. Related commands: hide rx
  3243.  
  3244. Related tutor files: Scripts
  3245.  
  3246. ================================== front =====================================
  3247.  
  3248.    FROnt
  3249.  
  3250.  
  3251. Bring the ²PowerVisor screen to the ¹front from within an ¹ARexx script.
  3252.  
  3253.  
  3254. Related commands: rx
  3255.  
  3256. Related tutor files: Scripts
  3257.  
  3258. =============================== closewindow ==================================
  3259.  
  3260.    CLOsewindow <window>
  3261.  
  3262.  
  3263. This command closes a ¹window. The menu's are cleared. The ¹DMRequest is
  3264. cleared. All ¹requesters attached to this window are removed and the ¹IDCMP
  3265. flags are set to zero.
  3266.  
  3267. 'closewindow' uses ¹autodefault to the 'wins' list for the first argument.
  3268.  
  3269. Be careful with this command. Closing windows that do not belong to you
  3270. is not so friendly for the other program (of course you can simply kill
  3271. or freeze the other command and you will hear no complaints :-)
  3272.  
  3273.  
  3274. Related commands: closescreen
  3275.  
  3276. Related lists: wins
  3277.  
  3278. ================================== hunks =====================================
  3279.  
  3280.    HUnks <process>
  3281.  
  3282.  
  3283. Show all the ¹hunks for a process
  3284.  
  3285. 'hunks' uses ¹autodefault to the 'task' list for the first and only argument.
  3286.  
  3287.  
  3288. Related lists: task
  3289.  
  3290. Related tutor files: LookingAtThings
  3291.  
  3292. ================================= attach =====================================
  3293.  
  3294.    <attach node> <- ATtach <command string> <code> <qualifier>
  3295.                     [('e' | 'c') ['+']]
  3296.  
  3297.  
  3298. This command ¹attaches a command to a ¹key. You can use this command to
  3299. initialize your ¹functionkeys (such a command attached to a key is
  3300. called a macro).
  3301.  
  3302. With 'remattach' you can remove ¹macros.
  3303.  
  3304. When you press the defined key, the command will be copied to the
  3305. commandline. The effect is exactly the same as it would be if you
  3306. had typed in the command and pressed enter.
  3307.  
  3308. If you do not want the command to be ¹feedbacked on your screen if you
  3309. press the assigned key, you may want to precede the commandline with a '~'.
  3310.  
  3311. If you use the 'e' (Exec) option, the command is executed without disturbing
  3312. the commandline. The command is not feedbacked on the screen.
  3313.  
  3314. If you use the 'c' (Copy) option, the <command string> is copied to the
  3315. current position in the stringgadget. Nothing is executed.
  3316.  
  3317. If you use either the 'e' or 'c' options, you can add a '+' to indicate
  3318. that the key should not be filtered out by the input handler. This means
  3319. that the pressed key is handled normally. After the default behaviour,
  3320. the command is executed ('e') or the command string is copied to the
  3321. commandline ('c').
  3322.  
  3323.  
  3324. Example :
  3325.  
  3326. To add the 'list' command to the <F1> key you can use :
  3327.  
  3328. < attach 'list' 050 0 <enter>
  3329.  
  3330. If you press <F1> 'list' is put on the ¹stringgadget and an enter is
  3331. simulated (this means that 'list' is also put in the ²history buffer).
  3332.  
  3333. If you do not want the stringgadget to be disturbed you can use :
  3334.  
  3335. < attach 'list' 050 0 e <enter>
  3336.  
  3337.  
  3338. Related commands: remattach
  3339.  
  3340. Related lists: attc
  3341.  
  3342. Related tutor files: InstallingPowerVisor Scripts
  3343.  
  3344. ================================ remattach ===================================
  3345.  
  3346.    REMAttach <attach node>
  3347.  
  3348.  
  3349. Remove a ¹macro.
  3350.  
  3351. 'remattach' uses ¹autodefault to the 'attc' list for the first argument.
  3352.  
  3353.  
  3354. Example :
  3355.  
  3356. Go to the attachement list :
  3357.  
  3358. < attc <enter>
  3359. < list <enter>
  3360.  
  3361. > Node     Code Qualifier Command
  3362. > ---------------------------------------------------------------------------
  3363. > 00C184E0   81         2 'info task:'trackdisk.device' task                '
  3364. > 00C34268   80         0 'list                                             '
  3365.  
  3366. < remattach 00c34268 <enter>
  3367.  
  3368.  
  3369. Related commands: attach list
  3370.  
  3371. Related lists: attc
  3372.  
  3373. Related tutor files: InstallingPowerVisor Scripts
  3374.  
  3375. =============================== closescreen ==================================
  3376.  
  3377.    CLOSEScreen <screen>
  3378.  
  3379.  
  3380. This command closes a ¹screen. All ¹windows on this screen are also closed.
  3381.  
  3382. 'closescreen' uses ¹autodefault to the 'scrs' list for the first argument.
  3383.  
  3384. Be careful with this command. Closing screens that do not belong to you
  3385. is not so friendly for the other program.
  3386.  
  3387.  
  3388. Related commands: closewindow
  3389.  
  3390. Related lists: scrs
  3391.  
  3392. =================================== log ======================================
  3393.  
  3394.    LOG [<logical window> <filename>]
  3395.  
  3396.  
  3397. This command enables or disables the ¹logging of all output in a ²logical window
  3398. to a file. PowerVisor only supports one ²log file. If you open one for a
  3399. logical window, PV will automatically close the other log file (if there is
  3400. one).
  3401.  
  3402. 'log' uses ¹autodefault to the 'lwin' list for the first argument.
  3403.  
  3404. You can disable (and close) command logging if you give no arguments to
  3405. this command.
  3406.  
  3407. You can also use the 'to' command to make a temporary log for one command
  3408. (or a group of commands).
  3409.  
  3410. When you use the ²'-' prefix in front of the commandline, PowerVisor will show
  3411. no output on the ³current logical window. The output will only go to the file.
  3412. When you use the ²'~' prefix in front of the commandline, PowerVisor will not
  3413. show the ¹feedback line on the screen (and also not in the file).
  3414.  
  3415.  
  3416. Related commands: to
  3417.  
  3418. Related lists: lwin
  3419.  
  3420. Related tutor files: Screen
  3421.  
  3422. ================================= taskpri ====================================
  3423.  
  3424.    TASKPri <task ptr> <priority>
  3425.  
  3426.  
  3427. Set the ¹priority for a task.
  3428.  
  3429. 'taskpri' uses ¹autodefault to the 'task' list for the first argument.
  3430.  
  3431.  
  3432. Example:
  3433.  
  3434. < taskpri task:test -5 <enter>
  3435.  
  3436.  
  3437. Related lists: task
  3438.  
  3439. ================================ pathname ====================================
  3440.  
  3441.    PAthname <lock>
  3442.  
  3443.  
  3444. This command prints the ¹pathname for a ¹lock. If <lock> does not point to
  3445. a lock, 'pathname' prints an error. Note that <lock> must be an APTR and
  3446. not a BPTR !
  3447.  
  3448. This command returns a string if used from ¹ARexx.
  3449.  
  3450.  
  3451. Related commands: unlock
  3452.  
  3453. Related lists: lock fils
  3454.  
  3455. ================================ unloadfd ====================================
  3456.  
  3457.    UNLoadfd <fd-file node>
  3458.  
  3459.  
  3460. Remove all ¹functiondefinitions in a ¹fd-file. You can find the
  3461. nodes for fd-files in the 'FDFi' list.
  3462. After this command you cannot use the ²library functions from this
  3463. fd-file anymore.
  3464.  
  3465. 'unloadfd' uses ¹autodefault to the 'FdFi' list for the first argument.
  3466.  
  3467.  
  3468. Related commands: loadfd libfunc libinfo
  3469.  
  3470. Related lists: fdfi
  3471.  
  3472. ================================= script =====================================
  3473.  
  3474.    <result> <- SCRIpt <script file> [<commandline>]
  3475.  
  3476.  
  3477. The 'script' command executes <script file>.
  3478. You can use comments in ²script files by preceding the line with ';'.
  3479.  
  3480. You can also execute ²machinelanguage scripts with this command.
  3481. These machinelanguage scripts are normal executable files. You can
  3482. write them in any language you wish as long as that language
  3483. has ³AmigaDOS executable files as output format. Although other
  3484. languages (like C) are possible we still call these scripts machinelanguage
  3485. scripts or ²ML scripts.
  3486.  
  3487. When a ML script is executed the registers contain the following info :
  3488.  
  3489.    a0=pointer to <commandline>
  3490.    a1=pointer to the ²'rc' variable. (You can use this to return something
  3491.       to PowerVisor)
  3492.    a2=pointer to the ¹PVCallTable.
  3493.    the value in d0 is returned to PowerVisor
  3494.  
  3495. <result> is the value returned in d0 (if ML script).
  3496.  
  3497. When you try to execute a script, PowerVisor will first try to execute
  3498. the script in the ²current directory, if that does not succeed, PowerVisor
  3499. will try the ¹s:pv/ subdirectory. This is the recommended place for scripts.
  3500.  
  3501.  
  3502. Related commands: rx resident unresident go
  3503.  
  3504. Related tutor files: Scripts
  3505.  
  3506. ================================ resident ====================================
  3507.  
  3508.    RC,<Pointer to code> <- RESIdent [<filename>]
  3509.  
  3510.  
  3511. The 'resident' command loads a given file (with ¹'LoadSeg') and stores a
  3512. pointer to the start of the program in 'RC'. You can use this pointer
  3513. with the 'go' command.
  3514.  
  3515. You can make ²ML scripts resident but you must make sure that the
  3516. routines are pure.
  3517.  
  3518. If you give no argument to 'resident' you will get a list with all
  3519. loaded code pointers.
  3520.  
  3521.  
  3522. Related commands: unresident go script
  3523.  
  3524. Related tutor files: Scripts
  3525.  
  3526. =============================== unresident ===================================
  3527.  
  3528.    UNResident <Pointer to code>
  3529.  
  3530.  
  3531. Unload a file loaded with 'resident'. All resident files are automatically
  3532. unloaded when PowerVisor quits.
  3533.  
  3534.  
  3535. Related commands: resident go script
  3536.  
  3537. Related tutor files: Scripts
  3538.  
  3539. ================================== debug =====================================
  3540.  
  3541.    RC <- DEBug 'n' | 'l' <filename> | 't' <task node> | ('r'|'f')
  3542.          [<debug node>] | 'd' <name>
  3543.  
  3544.  
  3545. Use this command to control the ²debug tasks.
  3546.  
  3547.    debug n     Waits for the next ¹'LoadSeg' and make a debugtask from that
  3548.                one.
  3549.    debug l <filename>
  3550.                Load an executable program to debug.
  3551.                ¹Symbols are automatically loaded if they exist.
  3552.    debug t <task node>
  3553.                Take an existing running task to debug.
  3554.                You can also take a ²crash node to debug. In that case
  3555.                you can singlestep the task from where it crashed.
  3556.    debug f     Remove the current debugnode and freeze the task.
  3557.    debug f <debug node>
  3558.                Remove the specified debugnode and ¹freeze.
  3559.    debug r     Remove the current debugnode.
  3560.                The task will simply continue executing from where it
  3561.                was interrupted.
  3562.    debug r <debug node>
  3563.                Remove the specified debugnode.
  3564.    debug d <name>
  3565.                Create ²dummy debugnode for symbols only.
  3566.  
  3567. When a new debug task is created, it is put in the 'DBug' list.
  3568. 'rc' contains the pointer to the new debug node.
  3569.  
  3570. 'debug' uses ¹autodefault to the 'dbug' list for the <debug node> argument.
  3571. 'debug' uses ¹autodefault to the 'task' list for the <task node> argument.
  3572.  
  3573.  
  3574. Related commands: duse trace symbol break
  3575.  
  3576. Related functions: getdebug
  3577.  
  3578. Related list: dbug task
  3579.  
  3580. Related tutor files: Debug
  3581.  
  3582. ================================ drefresh ====================================
  3583.  
  3584.    DRefresh
  3585.  
  3586.  
  3587. This command refreshes the debug display. 'drefresh' is only useful when
  3588. you are in ²fullscreen debugging mode.
  3589.  
  3590. See the 'prefs' and 'dwin' commands to install the fullscreen debugger.
  3591.  
  3592.  
  3593. Related commands: dwin debug duse prefs
  3594.  
  3595. Related lists: dbug
  3596.  
  3597. Related tutor files: Debug
  3598.  
  3599. ================================== duse ======================================
  3600.  
  3601.    DUse <debug node>
  3602.  
  3603.  
  3604. Set the ³current debug task.
  3605. Use the 'getdebug' function to determine the ³current debug node.
  3606.  
  3607. Also see the 'with' command to temporarily set the current debug node.
  3608.  
  3609. 'duse' uses ¹autodefault to the 'dbug' list for the first argument.
  3610.  
  3611.  
  3612. Related commands: with debug break trace drefresh symbol
  3613.  
  3614. Related functions: getdebug
  3615.  
  3616. Related lists: dbug
  3617.  
  3618. Related tutor files: Debug
  3619.  
  3620. ================================== with ======================================
  3621.  
  3622.    WITh <debug node> <command>
  3623.  
  3624.  
  3625. This command temporarily sets another ²current debug task and executes
  3626. <command>. This is useful if you want to view memory with another set
  3627. of ¹symbols for example. Or if you want to change the ¹registers of another
  3628. debug task.
  3629.  
  3630. 'with' uses ¹autodefault to the 'dbug' list for the first argument.
  3631.  
  3632.  
  3633. Example:
  3634.  
  3635. < with MyBuggyProgram memory 070540 <enter>
  3636. > ...
  3637.  
  3638.  
  3639. Related commands: duse debug break trace drefresh symbol
  3640.  
  3641. Related functions: getdebug
  3642.  
  3643. Related lists: dbug
  3644.  
  3645. Related tutor files: Debug
  3646.  
  3647. ================================== trace =====================================
  3648.  
  3649.    TRace [ 'n' <number> | 'b' | 'r' <register> | 'u'['t'] <address>
  3650.          | 'o'['t'] | 'c' <condition> | 's' | 'g'['t'] | 'h' | 'f'
  3651.          | 't' | 'j' ]
  3652.  
  3653. Use this command to ¹singlestep a program (Use 'debug' first to make
  3654. a debug task).
  3655.  
  3656.    trace n <number>        Trace <number> instructions. Tracing is done
  3657.                            in ²singlestep mode.
  3658.    trace b                 Trace until the next branch (singlestep mode).
  3659.    trace t                 Skip BSR or JSR. If not a ¹BSR or ¹JSR simple
  3660.                            trace is used. This function works in ¹ROM.
  3661.                            ²Execute mode is used.
  3662.    trace j                 Trace until use of library ROM function:
  3663.                            JSR or JMP (a6).
  3664.                            Tracing is done in singlestep mode.
  3665.    trace r <register>      Trace until a specified register is changed
  3666.                            (singlestep mode).
  3667.                            register can be d0-d7, a0-a6 or sp.
  3668.    trace u <address>       Trace until the programcounter is equal to
  3669.                            <address>. Tracing is done in execute mode.
  3670.    trace ut <address>      Same as above but use singlestep mode instead.
  3671.    trace o                 Trace over the current instruction. Tracing
  3672.                            is done in execute mode.
  3673.    trace ot                Same as above but use singlestep mode instead.
  3674.    trace c <condition>     Trace until a condition is satisfied. This
  3675.                            condition is a string. Example:
  3676.                            trace c @d1==@d2 will trace until register
  3677.                            d1 is equal to register d2. Tracing is done
  3678.                            in singlestep mode.
  3679.    trace s                 Skip an instruction
  3680.    trace i                 Do not trace. Simply show the current registers
  3681.                            and instructions.
  3682.    trace g                 Execute until a breakpoint is encountered
  3683.    trace gt                Same as above but tracing is done in singlestep
  3684.                            mode.
  3685.    trace h                 ³Interrupt the tracing or executing of the
  3686.                            current debug task.
  3687.    trace f                 Interrupt the tracing or executing of the
  3688.                            current debug task as soon as this task is
  3689.                            in ready state.
  3690.  
  3691.  
  3692. Related commands: debug break duse drefresh dstart dscroll dwin with symbol
  3693.  
  3694. Related functions: getdebug
  3695.  
  3696. Related lists: dbug
  3697.  
  3698. Related tutor files: Debug
  3699.  
  3700. ================================== break =====================================
  3701.  
  3702.    RC <- Break ('a'|'c'|'n'|'t'|'p'|'r') <address> [<condition>|<timeout>]
  3703.  
  3704.  
  3705. Install a ¹breakpoint for the ²current debugtask.
  3706.  
  3707.    break a <address> <timeout>   Breakpoint only breaks after the <timeout>
  3708.                                  counter becomes zero.
  3709.    break c <address> <condition> Only break if the condition is true.
  3710.    break n <address>             ²Normal breakpoint.
  3711.    break t <address>             ²Temporary breakpoint.
  3712.    break p <address>             ²Profiler breakpoint. Does not break. Only
  3713.                                  increments a counter.
  3714.    break r <breakpoint number>   ³Remove a breakpoint.
  3715.  
  3716. 'rc' contains the pointer to the new breakpoint node.
  3717.  
  3718.  
  3719. Examples :
  3720.  
  3721. < break c 00c05320 (@d0<@d1)&&(@pc>00c05380)
  3722.  
  3723. This breakpoint will cause a break if d0 is lower than d1 and
  3724. the programcounter is greater than 00c05380.
  3725.  
  3726.  
  3727. Related commands: debug trace duse with symbol
  3728.  
  3729. Related functions: getdebug
  3730.  
  3731. Related lists: dbug
  3732.  
  3733. Related tutor files: Debug
  3734.  
  3735. ================================= symbol =====================================
  3736.  
  3737.    SYmbol 'l' <filename> [<hunkaddress>] | 'c' | 'a' <symbol> <value> |
  3738.           'r' <symbol> | 's'
  3739.  
  3740.  
  3741. Control the ¹symboltable for the ²current debugtask.
  3742.  
  3743.    symbol l <filename> [<hunkaddress>]
  3744.                ³Load the symbols for the current debug task.
  3745.                If you give <hunkaddress>, PowerVisor will load the symbols
  3746.                for the given ¹hunks. This is extremely useful when you have
  3747.                created a ³dummy debug task.
  3748.                Note that <hunkaddress> is 4 more than the number given in
  3749.                the hunklist with the 'hunks' command.
  3750.                Note that <hunkaddress> is not optional when you are loading
  3751.                symbols for a dummy debug task.
  3752.    symbol c    ³Clear all symbols for the current debug task.
  3753.    symbol a <symbol> <value>
  3754.                ³Add a symbol with a specified value the the symbol list
  3755.                for the current debug task.
  3756.    symbol r <symbol>
  3757.                ³Remove a symbol from the symbol list for the current
  3758.                debug task.
  3759.    symbol s    ³List all symbols for the current debug task.
  3760.  
  3761.  
  3762. Related commands: debug trace break duse with
  3763.  
  3764. Related functions: getdebug
  3765.  
  3766. Related lists: dbug
  3767.  
  3768. Related tutor files: Debug
  3769.  
  3770. ================================= rblock =====================================
  3771.  
  3772.    RC,<address> <- RBlock <Unit number> <block number> [<address>]
  3773.  
  3774.  
  3775. ³Read a block from a disk. This command will allocate the memory for it
  3776. if you do not specify <address>. The pointer to this memory will be
  3777. stored in the ²'rc' variable. You can read a block in your own memory
  3778. if you specify the address. This address must be in ²chip ram.
  3779. You can free the memory this command allocated with 'free'.
  3780.  
  3781. The memory allocated with this command is automatically freed when
  3782. PowerVisor quits. You can also free this memory with the 'cleanup' command.
  3783.  
  3784.  
  3785. Related commands: wblock cleanup showalloc
  3786.  
  3787. Related functions: alloc free
  3788.  
  3789. ================================== void ======================================
  3790.  
  3791.    <result> <- Void {<argument> ...}
  3792.  
  3793.  
  3794. This command does absolutely nothing except evaluating it's arguments.
  3795. <result> is the result of the last evaluated ¹expression.
  3796. Note that this command is useful in the following situations :
  3797.  
  3798.    - calling ²library functions or ²PowerVisor functions when you are not
  3799.      interested in the result of this function
  3800.    - returning a value (<result>) from a ²group operator :
  3801.          < disp {a=4;b=5;void a+b} <enter>
  3802.          > 00000009 , 9
  3803.    - you can also use the 'void' command to copy a ²PowerVisor expression
  3804.      to an ²ARexx variable :
  3805.          ARexx< options results
  3806.          ARexx< 'void a+4'
  3807.          ARexx< b=result
  3808.  
  3809.  
  3810. Related commands: disp
  3811.  
  3812. Related functions: if eval
  3813.  
  3814. Related tutor files: GettingStarted Expressions
  3815.  
  3816. ================================= wblock =====================================
  3817.  
  3818.    WBlock <Unit number> <block number> <address>
  3819.  
  3820.  
  3821. ³Write a block to disk. <address> must be in ²chip ram.
  3822. A block is 1024 bytes big.
  3823.  
  3824.  
  3825. Related commands: rblock
  3826.  
  3827. ================================= opendev ====================================
  3828.  
  3829.    RC,<pvdevice> <- Opendev <device name> [<unit> [<flags>]]
  3830.  
  3831.  
  3832. ³Open a device for use with the 'closedev','devinfo' and 'devcmd' commands.
  3833. The result (in RC) is a pointer to a block containing the pointer to the
  3834. port and the pointer to the ¹IORequest (256 bytes big) in that order.
  3835. We call this block a ¹PVDevice.
  3836. Use this block as the argument to 'closedev','devinfo' and 'devcmd'.
  3837.  
  3838.  
  3839. Example :
  3840.  
  3841. Open the device :
  3842.  
  3843. < dev={opendev "trackdisk.device"} <enter>
  3844.  
  3845. Put the drive motor on :
  3846.  
  3847. < devcmd dev 9 0 1 <enter>
  3848.  
  3849. Put the drive motor off :
  3850.  
  3851. < devcmd dev 9 0 0 <enter>
  3852.  
  3853. Ask more information :
  3854.  
  3855. < devinfo dev <enter>
  3856. > MsgPort node name   : Node     Pri SigBit SigTask
  3857. >                     : 07E9D2A0 00      20 07EB5948
  3858. >
  3859. > IORequest    : 07E9E130 | Succ         : 00000000 | Pred         : 00000000
  3860. > Type         : 05       | Pri          : 00       |
  3861. > Name         :
  3862. > ReplyPort    : 07E9D2A0 | MN_Length    : 0100     | Device       : 07E077AC
  3863. > Unit         : 07E0C5A0 | Command      : 0000     | Flags        : 00
  3864. > Error        : 00       | Actual       : 00000000 | Length       : 00000000
  3865. > Data         : 00000000 | Offset       : 00000000 |
  3866.  
  3867. Close the device :
  3868.  
  3869. < closedev dev <enter>
  3870.  
  3871.  
  3872. Related commands: closedev devcmd devinfo
  3873.  
  3874. ================================ closedev ====================================
  3875.  
  3876.    CLOSEDev <device block>
  3877.  
  3878.  
  3879. ³Close a device opened with 'opendev'.
  3880.  
  3881.  
  3882. Related commands: opendev devcmd devinfo
  3883.  
  3884. ================================= devinfo ====================================
  3885.  
  3886.    DEVInfo <device block>
  3887.  
  3888.  
  3889. Show ¹port and ¹iorequest information for a device opened with 'opendev'.
  3890.  
  3891.  
  3892. Related commands: opendev closedev devcmd
  3893.  
  3894. ================================= devcmd =====================================
  3895.  
  3896.    RC <- DEVCmd <dev> <command> [<flags> [<length> [<data> [<offset>]]]]
  3897.  
  3898.  
  3899. Give a command to a device opened with 'opendev'. The parameters specified
  3900. are for the ¹IORequest. If you do not specify these parameters ('flags',...)
  3901. the IORequest will remain unchanged. The variable ¹'rc' contains the result
  3902. of the 'DoIO' function.
  3903.  
  3904.  
  3905. Related commands: opendev closedev devinfo
  3906.  
  3907. ================================= remhand ====================================
  3908.  
  3909.    REMHand <input handler>
  3910.  
  3911.  
  3912. Remove an ²input handler. You can list the ¹inputhandlers in the 'IHan' list.
  3913.  
  3914. 'remhand' uses ¹autodefault to the 'ihan' list for the first argument.
  3915.  
  3916.  
  3917. Related lists: ihan
  3918.  
  3919. =================================== go =======================================
  3920.  
  3921.    <result> <- GO <address> [<commandline>]
  3922.  
  3923.  
  3924. Start executing at <address>.
  3925. You can make ²inline code with this command.
  3926. The ¹registers are preset to certain values (see the 'script' command).
  3927.  
  3928. With the 'resident' command you can load a ml-script into memory. You
  3929. can use the 'go' command to execute this script.
  3930.  
  3931.  
  3932. Example :
  3933.  
  3934. < disp {go "\70\01Nu"} <enter>
  3935. > 00000001 , 1
  3936.  
  3937. Because this program is equivalent to :
  3938.  
  3939.       moveq.l  #1,d0
  3940.       rts
  3941.  
  3942.  
  3943. Related commands: script pvcall resident unresident
  3944.  
  3945. Related tutor files: Scripts
  3946.  
  3947. ================================== help ======================================
  3948.  
  3949.    Help [<topic>]
  3950.  
  3951.  
  3952. Ask more information about a certain ¹topic. You must have ¹PowerVisor-help
  3953. and ¹PowerVisor-ctrl installed in your s: directory before you can use
  3954. 'help'. If you omit <topic> you will get the ²main menu.
  3955.  
  3956.  
  3957. Related tutor files: GettingStarted
  3958.  
  3959. =================================== to =======================================
  3960.  
  3961.    TO <file> <command>
  3962.  
  3963.  
  3964. Log the output of one command (or group) to a file. After the command
  3965. has executed the previous ²log file (if any) is reinstalled.
  3966.  
  3967.  
  3968. Examples :
  3969.  
  3970. < to ram:MyOutputFile list task <enter>
  3971. > ...
  3972.  
  3973. The output will still appear on the ³current logical window. This command
  3974. temporarily works like the 'log' command. The real log file is restored
  3975. after this command exits.
  3976. If you only want output in a file you can use :
  3977.  
  3978. < -to ram:MyOutputFile list task <enter>
  3979.  
  3980. or
  3981.  
  3982. < to ram:MyOutputFile -list task <enter>
  3983.  
  3984. You can also combine the 'to' and the 'on' command :
  3985.  
  3986. First open the 'Extra' window (if it is not already open) :
  3987. < xwin <enter>
  3988.  
  3989. < to ram:MyOutputFile on extra list task <enter>
  3990. > ...
  3991.  
  3992. This command will list all tasks on the 'Extra' logical window. No output
  3993. will be written to the file since the 'to' command only redirects the output
  3994. from the current logical window. However :
  3995.  
  3996. < on extra to ram:MyOutputFile list task <enter>
  3997. > ...
  3998.  
  3999. will also list all task on the extra window. The difference is that this
  4000. time there will be output in the file since the 'to' command redirects
  4001. the output from the current logical window. At the time the 'to' command
  4002. is executed, this logical window is equal to 'Extra'.
  4003.  
  4004.  
  4005. Related commands: log xwin on
  4006.  
  4007. Related lists: lwin
  4008.  
  4009. Related tutor files: Screen
  4010.  
  4011. =============================== saveconfig ===================================
  4012.  
  4013.    SAVEConfig
  4014.  
  4015.  
  4016. This commands saves the current 'mode' and 'prefs' settings to the file
  4017. ¹s:PowerVisor-config. They will automatically be loaded when you start
  4018. PowerVisor.
  4019.  
  4020.  
  4021. Related commands: prefs mode
  4022.  
  4023. Related tutor files: InstallingPowerVisor
  4024.  
  4025. ================================== prefs =====================================
  4026.  
  4027.    PREfs ('history' | 'key' | 'startup' | 'window' | 'screen' | 'stack' |
  4028.          'logwin' | 'linelen' | 'debug' | 'dmode' | 'pens' | 'font')
  4029.          [<arguments> ...]
  4030.  
  4031.  
  4032. You can set/get ¹preferences with this command. All things you install with
  4033. this command can be saved with the 'saveconfig' command.
  4034. If you don't specify the optional arguments in the following templates, you
  4035. will get the current values.
  4036.  
  4037. Warning ! Changing preferences values is not always safe. For some
  4038. preferences (especially 'window', 'font' and 'screen') it is best to
  4039. set the preferences, 'saveconfig' them, 'quit' PowerVisor and restart
  4040. PowerVisor. Only after a full restart will PowerVisor correctly account
  4041. for all changes. 'history', 'key', 'stack', 'logwin', 'debug',
  4042. 'dmode' and 'pens' are save. You may change them as much as you like,
  4043. PowerVisor will not get confused.
  4044. Changing 'startup' and 'linelen' will have no effect at all. You have
  4045. to quit to see the changes.
  4046.  
  4047. The following preferences arguments are allowed :
  4048.  
  4049.    - history [<history value>]
  4050.          Install the maximum number of lines in the ¹history. Default is 20
  4051.  
  4052.    - key <key number> [<code> <qualifier>]
  4053.          nr name                 default key           code    qualifier
  4054.          --------------------------------------------------------------------
  4055.          0  interrupt key        <esc>                 045     0
  4056.          1  hot key              <r-shift>+<r-alt>+'/' 03A     022
  4057.          2  pause key            <r-alt>+<help>        05F     020
  4058.          3  cycle active logwin  <tab>                 042     0
  4059.          4  history up           <arrow up>            04C     0
  4060.          5  history down         <arrow down>          04D     0
  4061.  
  4062.    - startup [<startup word>]
  4063.          bit 0 = start PowerVisor on ²other screen
  4064.          bit 1 = start PowerVisor on own screen with ²non-backdrop window
  4065.          default for <startup word> is 0
  4066.  
  4067.    - window [<x> <y> <w> <h>]
  4068.          Define the size of the ³'Main' physical window to be used when
  4069.          it is not a ²backdrop window
  4070.          The default coordinates are :
  4071.             0,0,640,200
  4072.  
  4073.    - screen [<w> <h>]
  4074.          Define the width and the height of the PowerVisor screen. If you use
  4075.          -1 for any of these parameters the default screen width or height
  4076.          will be used.
  4077.          If you have AmigaDOS 2.0 you can install a big screen. You can scroll
  4078.          in this screen by moving the mousepointer out of the visible area.
  4079.          The default width and height are :
  4080.             -1,-1
  4081.  
  4082.    - stack [<stack fail level>]
  4083.          Set the amount of ¹stackspace left before PowerVisor will halt
  4084.          the task and give a warning (only if 'account' is on)
  4085.          default value is 40
  4086.          This value is also used by the 'stack' command.
  4087.  
  4088.    - logwin <full standard logwin name> [<cols> <rows> <mask> <flags>]
  4089.          supported logwins :
  4090.             Main,Extra,Refresh,Debug,Rexx,PPrint
  4091.          bits in flag :
  4092.             4   = ²-MORE- enabled
  4093.             32  = ¹real-top
  4094.             64  = ¹statusline off
  4095.             128 = ¹interrupt off
  4096.             256 = ³auto output snap
  4097.  
  4098.    - linelen [<line length>]
  4099.          Set the maximum length of the ²stringgadget commandline. This is also
  4100.          the maximum number of characters that may be used in ¹scripts (not
  4101.          ²ARexx scripts).
  4102.          default value is 400
  4103.  
  4104.    - debug [<instructions> <show previous instruction>]
  4105.          <instructions> is the number of instructions to disassemble after
  4106.          each trace (default is 5)
  4107.          if <show previous instruction> is 1, the previous instruction
  4108.          is disassembled (default is 1)
  4109.  
  4110.    - dmode 'n'|'r'|'c'|'f'
  4111.          Set the information that should be displayed after a trace. This
  4112.          parameter is not used by the fullscreen debugger since the
  4113.          fullscreen debugger always shows all information.
  4114.             n        show no info at all. This is useful when you are using
  4115.                      the fullscreen debugger and you do not want to be
  4116.                      disturbed by output on the current logical window
  4117.             r        show only registers
  4118.             c        show only code
  4119.             f        show registers and code (default)
  4120.  
  4121.    - pens [<pen number> <pen color>]
  4122.          With this command you can install all colors used in PowerVisor.
  4123.          There are 48 ¹pens. The first 24 are for ²fancy screens
  4124.          (2 bitplanes) and the last 24 are for 1 bitplane screens. Only
  4125.          the first 19 pens are used for both fancy and no-fancy screens.
  4126.          All other pens are reserved for future use.
  4127.          With no arguments this command lists all pens on two lines: the
  4128.          first line containing all pens for fancy screens and the second
  4129.          line for no-fancy screens.
  4130.  
  4131.          Here follow the currently defined ²pen numbers and there default
  4132.          color values. Add 24 to the pen number to get the no-fancy screen
  4133.          pen number (see the 'InstallingPowerVisor' tutor file for the
  4134.          meaning of each pen).
  4135.  
  4136.             nr    name                 default fancy     default no-fancy
  4137.             -------------------------------------------------------------
  4138.             0     BoxBackground        0                 0
  4139.             1     LogWinBackground     0                 0
  4140.             2     NormalText           1                 1
  4141.             3     PrompText            1                 1
  4142.             4     StatusTextInActive   1                 1
  4143.             5     StatusTextActive     2                 0
  4144.             6     InActiveBar          0                 0
  4145.             7     ActiveBar            3                 1
  4146.             8     TopLeft3D            2                 1
  4147.             9     BottomRight3D        1                 1
  4148.             10    BoxLine              1                 1
  4149.             11    PositionBox          0                 0
  4150.             12    TopLeftBox           1                 1
  4151.             13    BottomRightBox       2                 1
  4152.             14    PositionIndicator    3                 1
  4153.             15    SGInActiveText       3                 1
  4154.             16    SGInActiveBackground 0                 0
  4155.             17    SGActiveText         1                 1
  4156.             18    SGActiveBackground   0                 0
  4157.  
  4158.    - font [<font name> <size> <style> <flags>]
  4159.          With this command you can install the default font used by
  4160.          PowerVisor. This is topaz.font,8,0,0 by default. <font name>
  4161.          must always end with '.font'. This font is used for all
  4162.          logical windows, for the stringgadget, for the screen titlebar and
  4163.          for the logical window titlebars.
  4164.  
  4165.  
  4166. See the 'InstallingPowerVisor' file for more information.
  4167.  
  4168.  
  4169. Related commands: saveconfig mode
  4170.  
  4171. Related tutor files: InstallingPowerVisor Screen
  4172.  
  4173. ================================== home ======================================
  4174.  
  4175.    HOMe
  4176.  
  4177.  
  4178. Adjust the ²current location on the ³current logical window to the
  4179. ²top location. Note that this is not always the same as 'locate 0,0'
  4180. (see the 'Screen' tutorial file for more info).
  4181. This command also scrolls the logical window to that position
  4182. (in contrast with 'locate').
  4183.  
  4184.  
  4185. Related commands: locate cls print current
  4186.  
  4187. Related functions: getx gety getchar lines cols getlwin
  4188.  
  4189. Related lists: lwin
  4190.  
  4191. Related tutor files: Screen
  4192.  
  4193. ================================== move ======================================
  4194.  
  4195.    MOVe <physical window> <x> <y>
  4196.  
  4197.  
  4198. Move the ²physical window to a specified position. This command only works
  4199. if the physical window is a ²non-backdrop window.
  4200. You can move PowerVisor to another screen with the 'screen' command.
  4201. You can of course also move the ²PowerVisor window using the ²drag gadget.
  4202.  
  4203. 'move' uses ¹autodefault to the 'pwin' list for the first argument.
  4204.  
  4205.  
  4206. Related commands: screen size
  4207.  
  4208. Related lists: pwin
  4209.  
  4210. Related tutor files: Screen
  4211.  
  4212. ================================= scroll =====================================
  4213.  
  4214.    SCROll <logical window> <x> <y>
  4215.  
  4216.  
  4217. Scroll the ²logical window. <x> and <y> is the new ¹top-left visible
  4218. position. This command checks for illegal values.
  4219.  
  4220. 'scroll' uses ¹autodefault to the 'lwin' list for the first argument.
  4221.  
  4222.  
  4223. Related lists: lwin
  4224.  
  4225. Related tutor files: Screen
  4226.  
  4227. ================================= active =====================================
  4228.  
  4229.    Active <logical window>
  4230.  
  4231.  
  4232. Make the ²logical window the active one. The ³active logical window is the
  4233. logical window where you can scroll with the ¹keys. You can also use
  4234. the ¹<tab> key to change the active window. The active logical window is
  4235. also used for input. This means that when a command is waiting for a key
  4236. or for input (using the 'key' function, the 'scan' command or simply because
  4237. the output was to big to fit on one page) input will be locked (prevented)
  4238. unless the active logical window is equal to the logical window where the
  4239. input occured.
  4240.  
  4241. 'active' uses ¹autodefault to the 'lwin' list for the first argument.
  4242.  
  4243.  
  4244. Related commands: current
  4245.  
  4246. Related functions: getlwin
  4247.  
  4248. Related lists: lwin
  4249.  
  4250. Related tutor files: Screen
  4251.  
  4252. ================================= openlw =====================================
  4253.  
  4254.    RC,<lwin> <- OPENLw <physical window> <logwin name> <cols> <rows>
  4255.                 [<brother> <where> [<number of columns or lines>]]
  4256.  
  4257.  
  4258. Open a ²logical window on a ²physical window. If the physical window is empty
  4259. you need not specify the two last arguments. Otherwise <brother> is the
  4260. logical window which will be your brother and <where> specifies where
  4261. our new logical window should appear relative to the <brother>.
  4262. The <where> string can be like :
  4263.  
  4264.    u     above brother
  4265.    d     below brother
  4266.    r     right from brother
  4267.    l     left from brother
  4268.    pd    take parent from brother and appear below this box
  4269.    pppr  take parent from parent from parent and appear right from this box
  4270.    ...
  4271.  
  4272. 'openlw' uses ¹autodefault to the 'pwin' list for the <physical window> arg.
  4273. 'openlw' uses ¹autodefault to the 'lwin' list for the <brother> argument.
  4274.  
  4275. Note that you can open ³standard physical windows with this command as well,
  4276. instead of using the predefined commands (xwin,rwin,awin,owin,dwin).
  4277.  
  4278. If <number of columns or lines> is specified it is used as the number
  4279. of lines or columns for the new logical window (<number of columns or
  4280. lines> is interpreted as <number of columns> if the new window is positioned
  4281. left or right of <brother>, otherwise <number of columns or lines>
  4282. is interpreted as <number of lines>).
  4283.  
  4284. 'rc' and <lwin> are the pointer to the new logical window.
  4285.  
  4286.  
  4287. Example :
  4288.  
  4289. Open the 'Extra' logical window at the left of the 'Main' logical window :
  4290.  
  4291. < openlw main Extra 80 40 main l <enter>
  4292.  
  4293. And to close the logical window :
  4294.  
  4295. < closelw extra <enter>
  4296. or
  4297. < xwin <enter>
  4298.  
  4299.  
  4300. Related commands: closelw awin rwin owin dwin xwin openpw closepw
  4301.  
  4302. Related lists: lwin pwin
  4303.  
  4304. Related tutor files: Screen
  4305.  
  4306. ================================= closelw ====================================
  4307.  
  4308.    CLOSELw <logical window>
  4309.  
  4310.  
  4311. Close a ²logical window previously opened with 'openlw' or one of the
  4312. ³standard logical window commands (xwin,rwin,awin,owin,dwin).
  4313. You can't close the 'Main' logical window.
  4314.  
  4315. 'closelw' uses ¹autodefault to the 'lwin' list for the first argument.
  4316.  
  4317.  
  4318. Related commands: openlw awin owin rwin dwin xwin openpw closepw
  4319.  
  4320. Related lists: lwin
  4321.  
  4322. Related tutor files: Screen
  4323.  
  4324. ================================= openpw =====================================
  4325.  
  4326.    RC,<pwin> <- OPENPw <physical window name> <x> <y> <w> <y>
  4327.  
  4328.  
  4329. Open a ²physical window. It will be empty (no logical windows).
  4330. You can move and size this window using 'move' and 'size'. When
  4331. you use the 'screen' command to move PowerVisor to another screen,
  4332. all physical windows will automatically move together with the
  4333. 'Main' physical window.
  4334.  
  4335. You can only open 5 additional physical windows since there are only
  4336. 5 ¹signals left. In a later version this limitation could be removed.
  4337.  
  4338. 'rc' and <pwin> are the pointer to the new physical window.
  4339.  
  4340.  
  4341. Related commands: closepw openlw closelw
  4342.  
  4343. Related lists: pwin
  4344.  
  4345. Related tutor files: Screen
  4346.  
  4347. ================================= closepw ====================================
  4348.  
  4349.    CLOSEPw <physical window>
  4350.  
  4351.  
  4352. Close a ²physical window. All ²logical windows on this physical window
  4353. are automatically removed.
  4354. You can't remove the ³'Main' physical window.
  4355.  
  4356. 'closepw' uses ¹autodefault to the 'pwin' list for the first argument.
  4357.  
  4358.  
  4359. Related commands: openpw openlw closelw
  4360.  
  4361. Related lists: pwin
  4362.  
  4363. Related tutor files: Screen
  4364.  
  4365. ================================ setflags ====================================
  4366.  
  4367.    RC,<oldflags> <- SETFLags <logical window> <mask> <flags>
  4368.  
  4369.  
  4370. Set flags for a ²logical window.
  4371. This command also displays the old flags and puts the result in 'rc'.
  4372. Bits in <mask> and <flags> :
  4373.  
  4374.    4   = ²-MORE- enabled (1 is enabled)
  4375.    32  = ¹real-top (1 is real-top)
  4376.    64  = ¹statusline off (1 is off)
  4377.    128 = ¹interrupt off (1 is off)
  4378.    256 = ³auto output snap (1 if on)
  4379.  
  4380. Note that it is generally better to use 'prefs' for the standard logical
  4381. windows instead of 'setflags'. This is because the value made with 'setflags'
  4382. are reset everytime a new logical window is created or another logical window
  4383. disappears. The problem with 'prefs' is that you first have to reopen the
  4384. logical window before it has effect. If you use both (you can make a
  4385. script or alias for that) there is no problem.
  4386.  
  4387. 'setflags' uses ¹autodefault to the 'lwin' list for the first argument.
  4388.  
  4389.  
  4390. Example :
  4391.  
  4392. < setflags main 32+4 32 <enter>
  4393. > 00000106 , 262
  4394.  
  4395. will make the logical window real-top and disableds -MORE- checking.
  4396. 262 is the old value.
  4397.  
  4398. To get the current value, type :
  4399.  
  4400. < setflags main 0 0 <enter>
  4401. > 00000122 , 290
  4402.  
  4403.  
  4404. Related commands: openlw closelw awin owin rwin dwin xwin prefs
  4405.  
  4406. Related lists: lwin
  4407.  
  4408. Related tutor files: Screen
  4409.  
  4410. =================================== for ======================================
  4411.  
  4412.    FOR <listname> <command>
  4413.  
  4414.  
  4415. For each element in list <listname> execute <command>.
  4416. The command is executed with the pointer to the current element from the
  4417. list in the ²'rc' variable.
  4418.  
  4419. Warning ! Don't use commands that may cause the removal of some of the
  4420. elements in the list.
  4421.  
  4422.  
  4423. Example :
  4424.  
  4425. < for task disp rc <enter>
  4426. > 07E2D4B0 , 132306096
  4427. > 07E4DE50 , 132439632
  4428. > 07E5CBB0 , 132500400
  4429. > 07E1C418 , 132236312
  4430. > 07E49DB8 , 132423096
  4431. > 07E1B788 , 132233096
  4432. > 07E62768 , 132523880
  4433. > 07E1D510 , 132240656
  4434. > 07E60860 , 132515936
  4435. > 07E0AF7A , 132165498
  4436. > 07E4CD20 , 132435232
  4437. > 07E08000 , 132153344
  4438. > 07E07C68 , 132152424
  4439. > 07E70388 , 132580232
  4440. > 07EB4F48 , 132861768
  4441. > 07E0DEE0 , 132177632
  4442. > 07E13880 , 132200576
  4443. > 07E15D00 , 132209920
  4444. > 07E339D0 , 132331984
  4445. > 07E0C6E4 , 132171492
  4446. > 07E4FEE8 , 132447976
  4447. > 07E06362 , 132146018
  4448. > 07E21B28 , 132258600
  4449. > 07EB5948 , 132864328
  4450.  
  4451. displays all pointer to tasks.
  4452.  
  4453. To count all resident modules for example, use :
  4454.  
  4455. < {a=0;for resm a=a+1;disp a} <enter>
  4456. > 0000002A , 42
  4457.  
  4458.  
  4459. Related commands: list
  4460.  
  4461. Related tutor files: Lists LookingAtThings
  4462.  
  4463. ================================= pvcall =====================================
  4464.  
  4465.    <result> <- PVcall <number> [<arguments>]
  4466.  
  4467.  
  4468. Call ³internal PowerVisor functions. This command is only useful for the
  4469. very experienced PowerVisor user. See the 'TheWizardCorner' file for
  4470. more info.
  4471.  
  4472.  
  4473. Related tutor files: TheWizardCorner Scripts
  4474.  
  4475. ================================= dscroll ====================================
  4476.  
  4477.    DScroll <offset>
  4478.  
  4479.  
  4480. ¹Scroll <offset> bytes up in the ²fullscreen debugger. You can only use this
  4481. command when the ³'Debug' logical window is open (with 'dwin'). <offset>
  4482. can be negative. PowerVisor will always convert <offset> to a multiple
  4483. of a word.
  4484.  
  4485. You can also scroll in the debug display with the 'Ctrl' key in combination
  4486. with the following keypad ¹keys :
  4487.  
  4488.    8 (up)      scroll 2 bytes up
  4489.    2 (down)    scroll 2 bytes down
  4490.    9 (PgUp)    scroll 20 bytes up
  4491.    3 (PgDn)    scroll 20 bytes down
  4492.    5           scroll to programcounter (use 'dstart' to simulate this)
  4493.  
  4494.  
  4495. Related commands: dstart debug trace break dwin
  4496.  
  4497. Related functions: toppc botpc
  4498.  
  4499. Related lists: lwin dbug
  4500.  
  4501. Related tutor files: Debug
  4502.  
  4503. ================================= dstart =====================================
  4504.  
  4505.    DSTart <address>
  4506.  
  4507.  
  4508. Set the start of the debug logical window. You can only use this
  4509. command when the ³'Debug' logical window is open (with 'dwin').
  4510.  
  4511.  
  4512. Related commands: dscroll debug trace break dwin
  4513.  
  4514. Related functions: toppc botpc
  4515.  
  4516. Related lists: lwin dbug
  4517.  
  4518. Related tutor files: Debug
  4519.  
  4520. ================================= libfunc ====================================
  4521.  
  4522.    LIBFunc <library> <offset>
  4523.  
  4524.  
  4525. This command shows you the name of the ²library function corresponding
  4526. with a library and an offset (offset must be negative).
  4527. You must have loaded the corresponding ¹fd-file first.
  4528. Note that only the 16 least significant bits of <offset> are used so
  4529. it is safe to use $ffe2 for example.
  4530.  
  4531. This command looks a bit like the reverse of 'libinfo'.
  4532.  
  4533. 'libfunc' uses ¹autodefault to the 'libs' list for the <library> argument.
  4534.  
  4535. This command returns a string if called from ¹ARexx.
  4536.  
  4537.  
  4538. Related commands: libinfo loadfd unloadfd
  4539.  
  4540. Related lists: fdfi libs
  4541.  
  4542. ================================= usetag =====================================
  4543.  
  4544.    USetag <number>
  4545.  
  4546.  
  4547. Set the ³current tag list to <number> (0 .. 15). The current tag list is
  4548. used by all tag commands and by 'view'. The default current tag list
  4549. is 0.
  4550.  
  4551. You can also use 'tg' to temporarily set the current tag list.
  4552.  
  4553.  
  4554. Related commands: tg addtag remtag tags savetags loadtags view
  4555.  
  4556. Related functions: taglist
  4557.  
  4558. Related tutor files: LookingAtThings
  4559.  
  4560. =================================== tg =======================================
  4561.  
  4562.    TG <number> <command>
  4563.  
  4564.  
  4565. Temporarily set the ³current tag list to <number> and execute the command.
  4566. <number> is in 0 .. 15.
  4567.  
  4568.  
  4569. Related commands: usetag addtag remtag tags savetags loadtags view
  4570.  
  4571. Related functions: taglist
  4572.  
  4573. Related tutor files: LookingAtThings
  4574.